Bonjour,
je veux avoir la possibilité de naviguer entre 3 fenêtres, chacune
deux boutons Next et Back, j'ai écris ce code:
namespace Wisard
{
class FormWisard : System.Windows.Forms.Form
{
public FormWisard(String Title)
{
this.Text = Title;
}
private System.Windows.Forms.Form _next;
//Fenetre suivante
private System.Windows.Forms.Button buttonNext;
private System.Windows.Forms.Button buttonBack;
private System.Windows.Forms.Form _back;
//Fenêtre prec
//Initialisation des prop des composants buttonNext, buttonBack et de la
fenetre FormWisard
......
// les proprietes Next et Back
public System.Windows.Forms.Form Next
{
get
{
return _next;
}
set
{
_next=value;
}
}
public System.Windows.Forms.Form Back
{
get
{
return _back;
}
set
{
_back=value;
}
}
}
private void buttonNext_Click(object sender, System.EventArgs e)
{
this.Hide();
this.Next.Show();
}
private void buttonBack_Click(object sender, System.EventArgs e)
{
this.Hide();
this.Back.Show();
}
public class MainForm : System.Windows.Forms.Form
{
private FormWisard form1=new FormWisard("Form 1");
private FormWisard form2=new FormWisard("Form 2");
private FormWisard form3=new FormWisard("Form 3");
public MainForm()
{
form1.Back=null;
form1.Next=form2;
form2.Back=form1;
form2.Next=form3;
form3.Back=form2;
form3.Next=null;
}
private void MainForm_Load(object sender, System.EventArgs e)
{
form1.Show();
}
[STAThread]
static void Main()
{
Application.Run(new MainForm());
}
}
}
ça affiche qu'une fenetre vide.
et si je met ça :
Application.Run(form1); // car je veux démarer l'application avec la
fenetre form1
il y a l'erreur : Une référence d'objet est requise pour le champ non
statique "Wizard.MainForm.form1"
Comment faire SVP????? y a une autre methode?
Bonjour,
je veux avoir la possibilité de naviguer entre 3 fenêtres, chacune
deux boutons Next et Back, j'ai écris ce code:
namespace Wisard
{
class FormWisard : System.Windows.Forms.Form
{
public FormWisard(String Title)
{
this.Text = Title;
}
private System.Windows.Forms.Form _next;
//Fenetre suivante
private System.Windows.Forms.Button buttonNext;
private System.Windows.Forms.Button buttonBack;
private System.Windows.Forms.Form _back;
//Fenêtre prec
//Initialisation des prop des composants buttonNext, buttonBack et de la
fenetre FormWisard
......
// les proprietes Next et Back
public System.Windows.Forms.Form Next
{
get
{
return _next;
}
set
{
_next=value;
}
}
public System.Windows.Forms.Form Back
{
get
{
return _back;
}
set
{
_back=value;
}
}
}
private void buttonNext_Click(object sender, System.EventArgs e)
{
this.Hide();
this.Next.Show();
}
private void buttonBack_Click(object sender, System.EventArgs e)
{
this.Hide();
this.Back.Show();
}
public class MainForm : System.Windows.Forms.Form
{
private FormWisard form1=new FormWisard("Form 1");
private FormWisard form2=new FormWisard("Form 2");
private FormWisard form3=new FormWisard("Form 3");
public MainForm()
{
form1.Back=null;
form1.Next=form2;
form2.Back=form1;
form2.Next=form3;
form3.Back=form2;
form3.Next=null;
}
private void MainForm_Load(object sender, System.EventArgs e)
{
form1.Show();
}
[STAThread]
static void Main()
{
Application.Run(new MainForm());
}
}
}
ça affiche qu'une fenetre vide.
et si je met ça :
Application.Run(form1); // car je veux démarer l'application avec la
fenetre form1
il y a l'erreur : Une référence d'objet est requise pour le champ non
statique "Wizard.MainForm.form1"
Comment faire SVP????? y a une autre methode?
Bonjour,
je veux avoir la possibilité de naviguer entre 3 fenêtres, chacune
deux boutons Next et Back, j'ai écris ce code:
namespace Wisard
{
class FormWisard : System.Windows.Forms.Form
{
public FormWisard(String Title)
{
this.Text = Title;
}
private System.Windows.Forms.Form _next;
//Fenetre suivante
private System.Windows.Forms.Button buttonNext;
private System.Windows.Forms.Button buttonBack;
private System.Windows.Forms.Form _back;
//Fenêtre prec
//Initialisation des prop des composants buttonNext, buttonBack et de la
fenetre FormWisard
......
// les proprietes Next et Back
public System.Windows.Forms.Form Next
{
get
{
return _next;
}
set
{
_next=value;
}
}
public System.Windows.Forms.Form Back
{
get
{
return _back;
}
set
{
_back=value;
}
}
}
private void buttonNext_Click(object sender, System.EventArgs e)
{
this.Hide();
this.Next.Show();
}
private void buttonBack_Click(object sender, System.EventArgs e)
{
this.Hide();
this.Back.Show();
}
public class MainForm : System.Windows.Forms.Form
{
private FormWisard form1=new FormWisard("Form 1");
private FormWisard form2=new FormWisard("Form 2");
private FormWisard form3=new FormWisard("Form 3");
public MainForm()
{
form1.Back=null;
form1.Next=form2;
form2.Back=form1;
form2.Next=form3;
form3.Back=form2;
form3.Next=null;
}
private void MainForm_Load(object sender, System.EventArgs e)
{
form1.Show();
}
[STAThread]
static void Main()
{
Application.Run(new MainForm());
}
}
}
ça affiche qu'une fenetre vide.
et si je met ça :
Application.Run(form1); // car je veux démarer l'application avec la
fenetre form1
il y a l'erreur : Une référence d'objet est requise pour le champ non
statique "Wizard.MainForm.form1"
Comment faire SVP????? y a une autre methode?
"CooL6a" wrote in message
news:
> Bonjour,
> je veux avoir la possibilité de naviguer entre 3 fenêtres, chacune
contient
> deux boutons Next et Back, j'ai écris ce code:
>
> namespace Wisard
> {
> class FormWisard : System.Windows.Forms.Form
> {
>
>
> public FormWisard(String Title)
> {
> this.Text = Title;
> }
>
> private System.Windows.Forms.Form _next;
> //Fenetre suivante
> private System.Windows.Forms.Button buttonNext;
> private System.Windows.Forms.Button buttonBack;
> private System.Windows.Forms.Form _back;
> //Fenêtre prec
>
> //Initialisation des prop des composants buttonNext, buttonBack et de la
> fenetre FormWisard
> ......
>
> // les proprietes Next et Back
> public System.Windows.Forms.Form Next
> {
> get
> {
> return _next;
> }
> set
> {
> _next=value;
> }
> }
> public System.Windows.Forms.Form Back
> {
> get
> {
> return _back;
> }
> set
> {
> _back=value;
> }
> }
> }
>
> private void buttonNext_Click(object sender, System.EventArgs e)
> {
> this.Hide();
> this.Next.Show();
> }
>
> private void buttonBack_Click(object sender, System.EventArgs e)
> {
> this.Hide();
> this.Back.Show();
> }
>
>
>
> public class MainForm : System.Windows.Forms.Form
> {
> private FormWisard form1=new FormWisard("Form 1");
> private FormWisard form2=new FormWisard("Form 2");
> private FormWisard form3=new FormWisard("Form 3");
>
> public MainForm()
> {
> form1.Back=null;
> form1.Next=form2;
>
> form2.Back=form1;
> form2.Next=form3;
>
> form3.Back=form2;
> form3.Next=null;
>
> }
>
> private void MainForm_Load(object sender, System.EventArgs e)
> {
> form1.Show();
> }
>
> [STAThread]
> static void Main()
> {
> Application.Run(new MainForm());
> }
> }
> }
>
> ça affiche qu'une fenetre vide.
>
> et si je met ça :
> Application.Run(form1); // car je veux démarer l'application avec la
> fenetre form1
> il y a l'erreur : Une référence d'objet est requise pour le champ non
> statique "Wizard.MainForm.form1"
> Comment faire SVP????? y a une autre methode?
>
>
>
Un Wizard est une fenêtre qui affiche différents contrôles selon un chemin
précis.
La méthode la plus simple pour implémenter un wirard est de n'avoir qu'un
formulaire qui contient plusieurs contrôles Panel, contenant chacun un
différent, que vous cachez et affichez à tour de rôle.
Vous n'avez pas de communication inter formulaire, pas de gestion
du chaînage des étapes, une centralisation des données collectées, pas de
gestion des formulaires planqués sous d'autres, etc. . En un mot : un code
beaucoup plus simple.
Un exemple de gestionnaire de bouton Next
Next_Clicked(.){
if(m_courantPanel<m_Panels.Count){
m_Panels[courantPanel].Visible = false;
m_Panels[courantPanel].Visible = true;
CollecteInformation(courantPanel);
courantPanel++;
}
}
--
Paul Bacelar
"CooL6a" <CooL6a@yayoo.fr> wrote in message
news:uvvfcxvAFHA.1408@TK2MSFTNGP10.phx.gbl...
> Bonjour,
> je veux avoir la possibilité de naviguer entre 3 fenêtres, chacune
contient
> deux boutons Next et Back, j'ai écris ce code:
>
> namespace Wisard
> {
> class FormWisard : System.Windows.Forms.Form
> {
>
>
> public FormWisard(String Title)
> {
> this.Text = Title;
> }
>
> private System.Windows.Forms.Form _next;
> //Fenetre suivante
> private System.Windows.Forms.Button buttonNext;
> private System.Windows.Forms.Button buttonBack;
> private System.Windows.Forms.Form _back;
> //Fenêtre prec
>
> //Initialisation des prop des composants buttonNext, buttonBack et de la
> fenetre FormWisard
> ......
>
> // les proprietes Next et Back
> public System.Windows.Forms.Form Next
> {
> get
> {
> return _next;
> }
> set
> {
> _next=value;
> }
> }
> public System.Windows.Forms.Form Back
> {
> get
> {
> return _back;
> }
> set
> {
> _back=value;
> }
> }
> }
>
> private void buttonNext_Click(object sender, System.EventArgs e)
> {
> this.Hide();
> this.Next.Show();
> }
>
> private void buttonBack_Click(object sender, System.EventArgs e)
> {
> this.Hide();
> this.Back.Show();
> }
>
>
>
> public class MainForm : System.Windows.Forms.Form
> {
> private FormWisard form1=new FormWisard("Form 1");
> private FormWisard form2=new FormWisard("Form 2");
> private FormWisard form3=new FormWisard("Form 3");
>
> public MainForm()
> {
> form1.Back=null;
> form1.Next=form2;
>
> form2.Back=form1;
> form2.Next=form3;
>
> form3.Back=form2;
> form3.Next=null;
>
> }
>
> private void MainForm_Load(object sender, System.EventArgs e)
> {
> form1.Show();
> }
>
> [STAThread]
> static void Main()
> {
> Application.Run(new MainForm());
> }
> }
> }
>
> ça affiche qu'une fenetre vide.
>
> et si je met ça :
> Application.Run(form1); // car je veux démarer l'application avec la
> fenetre form1
> il y a l'erreur : Une référence d'objet est requise pour le champ non
> statique "Wizard.MainForm.form1"
> Comment faire SVP????? y a une autre methode?
>
>
>
Un Wizard est une fenêtre qui affiche différents contrôles selon un chemin
précis.
La méthode la plus simple pour implémenter un wirard est de n'avoir qu'un
formulaire qui contient plusieurs contrôles Panel, contenant chacun un
différent, que vous cachez et affichez à tour de rôle.
Vous n'avez pas de communication inter formulaire, pas de gestion
du chaînage des étapes, une centralisation des données collectées, pas de
gestion des formulaires planqués sous d'autres, etc. . En un mot : un code
beaucoup plus simple.
Un exemple de gestionnaire de bouton Next
Next_Clicked(.){
if(m_courantPanel<m_Panels.Count){
m_Panels[courantPanel].Visible = false;
m_Panels[courantPanel].Visible = true;
CollecteInformation(courantPanel);
courantPanel++;
}
}
--
Paul Bacelar
"CooL6a" wrote in message
news:
> Bonjour,
> je veux avoir la possibilité de naviguer entre 3 fenêtres, chacune
contient
> deux boutons Next et Back, j'ai écris ce code:
>
> namespace Wisard
> {
> class FormWisard : System.Windows.Forms.Form
> {
>
>
> public FormWisard(String Title)
> {
> this.Text = Title;
> }
>
> private System.Windows.Forms.Form _next;
> //Fenetre suivante
> private System.Windows.Forms.Button buttonNext;
> private System.Windows.Forms.Button buttonBack;
> private System.Windows.Forms.Form _back;
> //Fenêtre prec
>
> //Initialisation des prop des composants buttonNext, buttonBack et de la
> fenetre FormWisard
> ......
>
> // les proprietes Next et Back
> public System.Windows.Forms.Form Next
> {
> get
> {
> return _next;
> }
> set
> {
> _next=value;
> }
> }
> public System.Windows.Forms.Form Back
> {
> get
> {
> return _back;
> }
> set
> {
> _back=value;
> }
> }
> }
>
> private void buttonNext_Click(object sender, System.EventArgs e)
> {
> this.Hide();
> this.Next.Show();
> }
>
> private void buttonBack_Click(object sender, System.EventArgs e)
> {
> this.Hide();
> this.Back.Show();
> }
>
>
>
> public class MainForm : System.Windows.Forms.Form
> {
> private FormWisard form1=new FormWisard("Form 1");
> private FormWisard form2=new FormWisard("Form 2");
> private FormWisard form3=new FormWisard("Form 3");
>
> public MainForm()
> {
> form1.Back=null;
> form1.Next=form2;
>
> form2.Back=form1;
> form2.Next=form3;
>
> form3.Back=form2;
> form3.Next=null;
>
> }
>
> private void MainForm_Load(object sender, System.EventArgs e)
> {
> form1.Show();
> }
>
> [STAThread]
> static void Main()
> {
> Application.Run(new MainForm());
> }
> }
> }
>
> ça affiche qu'une fenetre vide.
>
> et si je met ça :
> Application.Run(form1); // car je veux démarer l'application avec la
> fenetre form1
> il y a l'erreur : Une référence d'objet est requise pour le champ non
> statique "Wizard.MainForm.form1"
> Comment faire SVP????? y a une autre methode?
>
>
>
Un Wizard est une fenêtre qui affiche différents contrôles selon un chemin
précis.
La méthode la plus simple pour implémenter un wirard est de n'avoir qu'un
formulaire qui contient plusieurs contrôles Panel, contenant chacun un
différent, que vous cachez et affichez à tour de rôle.
Vous n'avez pas de communication inter formulaire, pas de gestion
du chaînage des étapes, une centralisation des données collectées, pas de
gestion des formulaires planqués sous d'autres, etc. . En un mot : un code
beaucoup plus simple.
Un exemple de gestionnaire de bouton Next
Next_Clicked(.){
if(m_courantPanel<m_Panels.Count){
m_Panels[courantPanel].Visible = false;
m_Panels[courantPanel].Visible = true;
CollecteInformation(courantPanel);
courantPanel++;
}
}
--
Paul Bacelar
Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai plusieurs
fenêtres dont la première par exemple est celle de la connexion, et je
au moins donner la possibilité à l'utilisateur de revenir en arrière pour
visualiser ou changer ces choix, ce que tu m'a proposé je le fait dans ces
fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou cachés
le contexte.
"Paul Bacelar" a écrit dans le message
de news:uC$
> "CooL6a" wrote in message
> news:
> > Bonjour,
> > je veux avoir la possibilité de naviguer entre 3 fenêtres, chacune
> contient
> > deux boutons Next et Back, j'ai écris ce code:
> >
> > namespace Wisard
> > {
> > class FormWisard : System.Windows.Forms.Form
> > {
> >
> >
> > public FormWisard(String Title)
> > {
> > this.Text = Title;
> > }
> >
> > private System.Windows.Forms.Form _next;
> > //Fenetre suivante
> > private System.Windows.Forms.Button buttonNext;
> > private System.Windows.Forms.Button buttonBack;
> > private System.Windows.Forms.Form _back;
> > //Fenêtre prec
> >
> > //Initialisation des prop des composants buttonNext, buttonBack et de
> > fenetre FormWisard
> > ......
> >
> > // les proprietes Next et Back
> > public System.Windows.Forms.Form Next
> > {
> > get
> > {
> > return _next;
> > }
> > set
> > {
> > _next=value;
> > }
> > }
> > public System.Windows.Forms.Form Back
> > {
> > get
> > {
> > return _back;
> > }
> > set
> > {
> > _back=value;
> > }
> > }
> > }
> >
> > private void buttonNext_Click(object sender, System.EventArgs e)
> > {
> > this.Hide();
> > this.Next.Show();
> > }
> >
> > private void buttonBack_Click(object sender, System.EventArgs e)
> > {
> > this.Hide();
> > this.Back.Show();
> > }
> >
> >
> >
> > public class MainForm : System.Windows.Forms.Form
> > {
> > private FormWisard form1=new FormWisard("Form 1");
> > private FormWisard form2=new FormWisard("Form 2");
> > private FormWisard form3=new FormWisard("Form 3");
> >
> > public MainForm()
> > {
> > form1.Back=null;
> > form1.Next=form2;
> >
> > form2.Back=form1;
> > form2.Next=form3;
> >
> > form3.Back=form2;
> > form3.Next=null;
> >
> > }
> >
> > private void MainForm_Load(object sender, System.EventArgs e)
> > {
> > form1.Show();
> > }
> >
> > [STAThread]
> > static void Main()
> > {
> > Application.Run(new MainForm());
> > }
> > }
> > }
> >
> > ça affiche qu'une fenetre vide.
> >
> > et si je met ça :
> > Application.Run(form1); // car je veux démarer l'application avec la
> > fenetre form1
> > il y a l'erreur : Une référence d'objet est requise pour le champ non
> > statique "Wizard.MainForm.form1"
> > Comment faire SVP????? y a une autre methode?
> >
> >
> >
>
> Un Wizard est une fenêtre qui affiche différents contrôles selon un
> précis.
>
> La méthode la plus simple pour implémenter un wirard est de n'avoir
> formulaire qui contient plusieurs contrôles Panel, contenant chacun un
écran
> différent, que vous cachez et affichez à tour de rôle.
>
> Vous n'avez pas de communication inter formulaire, pas de gestion
éparpillée
> du chaînage des étapes, une centralisation des données collectées, pas
> gestion des formulaires planqués sous d'autres, etc. . En un mot : un
> beaucoup plus simple.
>
> Un exemple de gestionnaire de bouton Next
>
>
>
> Next_Clicked(.){
>
> if(m_courantPanel<m_Panels.Count){
>
> m_Panels[courantPanel].Visible = false;
>
> m_Panels[courantPanel].Visible = true;
>
> CollecteInformation(courantPanel);
>
> courantPanel++;
>
> }
>
> }
>
>
> --
> Paul Bacelar
>
>
Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai plusieurs
fenêtres dont la première par exemple est celle de la connexion, et je
au moins donner la possibilité à l'utilisateur de revenir en arrière pour
visualiser ou changer ces choix, ce que tu m'a proposé je le fait dans ces
fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou cachés
le contexte.
"Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le message
de news:uC$BytyAFHA.3336@TK2MSFTNGP11.phx.gbl...
> "CooL6a" <CooL6a@yayoo.fr> wrote in message
> news:uvvfcxvAFHA.1408@TK2MSFTNGP10.phx.gbl...
> > Bonjour,
> > je veux avoir la possibilité de naviguer entre 3 fenêtres, chacune
> contient
> > deux boutons Next et Back, j'ai écris ce code:
> >
> > namespace Wisard
> > {
> > class FormWisard : System.Windows.Forms.Form
> > {
> >
> >
> > public FormWisard(String Title)
> > {
> > this.Text = Title;
> > }
> >
> > private System.Windows.Forms.Form _next;
> > //Fenetre suivante
> > private System.Windows.Forms.Button buttonNext;
> > private System.Windows.Forms.Button buttonBack;
> > private System.Windows.Forms.Form _back;
> > //Fenêtre prec
> >
> > //Initialisation des prop des composants buttonNext, buttonBack et de
> > fenetre FormWisard
> > ......
> >
> > // les proprietes Next et Back
> > public System.Windows.Forms.Form Next
> > {
> > get
> > {
> > return _next;
> > }
> > set
> > {
> > _next=value;
> > }
> > }
> > public System.Windows.Forms.Form Back
> > {
> > get
> > {
> > return _back;
> > }
> > set
> > {
> > _back=value;
> > }
> > }
> > }
> >
> > private void buttonNext_Click(object sender, System.EventArgs e)
> > {
> > this.Hide();
> > this.Next.Show();
> > }
> >
> > private void buttonBack_Click(object sender, System.EventArgs e)
> > {
> > this.Hide();
> > this.Back.Show();
> > }
> >
> >
> >
> > public class MainForm : System.Windows.Forms.Form
> > {
> > private FormWisard form1=new FormWisard("Form 1");
> > private FormWisard form2=new FormWisard("Form 2");
> > private FormWisard form3=new FormWisard("Form 3");
> >
> > public MainForm()
> > {
> > form1.Back=null;
> > form1.Next=form2;
> >
> > form2.Back=form1;
> > form2.Next=form3;
> >
> > form3.Back=form2;
> > form3.Next=null;
> >
> > }
> >
> > private void MainForm_Load(object sender, System.EventArgs e)
> > {
> > form1.Show();
> > }
> >
> > [STAThread]
> > static void Main()
> > {
> > Application.Run(new MainForm());
> > }
> > }
> > }
> >
> > ça affiche qu'une fenetre vide.
> >
> > et si je met ça :
> > Application.Run(form1); // car je veux démarer l'application avec la
> > fenetre form1
> > il y a l'erreur : Une référence d'objet est requise pour le champ non
> > statique "Wizard.MainForm.form1"
> > Comment faire SVP????? y a une autre methode?
> >
> >
> >
>
> Un Wizard est une fenêtre qui affiche différents contrôles selon un
> précis.
>
> La méthode la plus simple pour implémenter un wirard est de n'avoir
> formulaire qui contient plusieurs contrôles Panel, contenant chacun un
écran
> différent, que vous cachez et affichez à tour de rôle.
>
> Vous n'avez pas de communication inter formulaire, pas de gestion
éparpillée
> du chaînage des étapes, une centralisation des données collectées, pas
> gestion des formulaires planqués sous d'autres, etc. . En un mot : un
> beaucoup plus simple.
>
> Un exemple de gestionnaire de bouton Next
>
>
>
> Next_Clicked(.){
>
> if(m_courantPanel<m_Panels.Count){
>
> m_Panels[courantPanel].Visible = false;
>
> m_Panels[courantPanel].Visible = true;
>
> CollecteInformation(courantPanel);
>
> courantPanel++;
>
> }
>
> }
>
>
> --
> Paul Bacelar
>
>
Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai plusieurs
fenêtres dont la première par exemple est celle de la connexion, et je
au moins donner la possibilité à l'utilisateur de revenir en arrière pour
visualiser ou changer ces choix, ce que tu m'a proposé je le fait dans ces
fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou cachés
le contexte.
"Paul Bacelar" a écrit dans le message
de news:uC$
> "CooL6a" wrote in message
> news:
> > Bonjour,
> > je veux avoir la possibilité de naviguer entre 3 fenêtres, chacune
> contient
> > deux boutons Next et Back, j'ai écris ce code:
> >
> > namespace Wisard
> > {
> > class FormWisard : System.Windows.Forms.Form
> > {
> >
> >
> > public FormWisard(String Title)
> > {
> > this.Text = Title;
> > }
> >
> > private System.Windows.Forms.Form _next;
> > //Fenetre suivante
> > private System.Windows.Forms.Button buttonNext;
> > private System.Windows.Forms.Button buttonBack;
> > private System.Windows.Forms.Form _back;
> > //Fenêtre prec
> >
> > //Initialisation des prop des composants buttonNext, buttonBack et de
> > fenetre FormWisard
> > ......
> >
> > // les proprietes Next et Back
> > public System.Windows.Forms.Form Next
> > {
> > get
> > {
> > return _next;
> > }
> > set
> > {
> > _next=value;
> > }
> > }
> > public System.Windows.Forms.Form Back
> > {
> > get
> > {
> > return _back;
> > }
> > set
> > {
> > _back=value;
> > }
> > }
> > }
> >
> > private void buttonNext_Click(object sender, System.EventArgs e)
> > {
> > this.Hide();
> > this.Next.Show();
> > }
> >
> > private void buttonBack_Click(object sender, System.EventArgs e)
> > {
> > this.Hide();
> > this.Back.Show();
> > }
> >
> >
> >
> > public class MainForm : System.Windows.Forms.Form
> > {
> > private FormWisard form1=new FormWisard("Form 1");
> > private FormWisard form2=new FormWisard("Form 2");
> > private FormWisard form3=new FormWisard("Form 3");
> >
> > public MainForm()
> > {
> > form1.Back=null;
> > form1.Next=form2;
> >
> > form2.Back=form1;
> > form2.Next=form3;
> >
> > form3.Back=form2;
> > form3.Next=null;
> >
> > }
> >
> > private void MainForm_Load(object sender, System.EventArgs e)
> > {
> > form1.Show();
> > }
> >
> > [STAThread]
> > static void Main()
> > {
> > Application.Run(new MainForm());
> > }
> > }
> > }
> >
> > ça affiche qu'une fenetre vide.
> >
> > et si je met ça :
> > Application.Run(form1); // car je veux démarer l'application avec la
> > fenetre form1
> > il y a l'erreur : Une référence d'objet est requise pour le champ non
> > statique "Wizard.MainForm.form1"
> > Comment faire SVP????? y a une autre methode?
> >
> >
> >
>
> Un Wizard est une fenêtre qui affiche différents contrôles selon un
> précis.
>
> La méthode la plus simple pour implémenter un wirard est de n'avoir
> formulaire qui contient plusieurs contrôles Panel, contenant chacun un
écran
> différent, que vous cachez et affichez à tour de rôle.
>
> Vous n'avez pas de communication inter formulaire, pas de gestion
éparpillée
> du chaînage des étapes, une centralisation des données collectées, pas
> gestion des formulaires planqués sous d'autres, etc. . En un mot : un
> beaucoup plus simple.
>
> Un exemple de gestionnaire de bouton Next
>
>
>
> Next_Clicked(.){
>
> if(m_courantPanel<m_Panels.Count){
>
> m_Panels[courantPanel].Visible = false;
>
> m_Panels[courantPanel].Visible = true;
>
> CollecteInformation(courantPanel);
>
> courantPanel++;
>
> }
>
> }
>
>
> --
> Paul Bacelar
>
>
J'ai du mal à voir pourquoi votre cas d'utilisation ne colle pas avec
l'approche par panel.
Si vous voulez des Forms qui d'affichent en file indienne avec un back,
pourquoi ne pas utiliser un ShowDialog sur les formulaires avec un
DialogResult câblé sur le bouton Back?
--
Paul Bacelar
"CooL6a" wrote in message
news:
> Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai plusieurs
> fenêtres dont la première par exemple est celle de la connexion, et je
veux
> au moins donner la possibilité à l'utilisateur de revenir en arrière
> visualiser ou changer ces choix, ce que tu m'a proposé je le fait dans
> fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou cachés
selon
> le contexte.
>
>
> "Paul Bacelar" a écrit dans le
> de news:uC$
> > "CooL6a" wrote in message
> > news:
> > > Bonjour,
> > > je veux avoir la possibilité de naviguer entre 3 fenêtres, chacune
> > contient
> > > deux boutons Next et Back, j'ai écris ce code:
> > >
> > > namespace Wisard
> > > {
> > > class FormWisard : System.Windows.Forms.Form
> > > {
> > >
> > >
> > > public FormWisard(String Title)
> > > {
> > > this.Text = Title;
> > > }
> > >
> > > private System.Windows.Forms.Form _next;
> > > //Fenetre suivante
> > > private System.Windows.Forms.Button buttonNext;
> > > private System.Windows.Forms.Button buttonBack;
> > > private System.Windows.Forms.Form _back;
> > > //Fenêtre prec
> > >
> > > //Initialisation des prop des composants buttonNext, buttonBack et
la
> > > fenetre FormWisard
> > > ......
> > >
> > > // les proprietes Next et Back
> > > public System.Windows.Forms.Form Next
> > > {
> > > get
> > > {
> > > return _next;
> > > }
> > > set
> > > {
> > > _next=value;
> > > }
> > > }
> > > public System.Windows.Forms.Form Back
> > > {
> > > get
> > > {
> > > return _back;
> > > }
> > > set
> > > {
> > > _back=value;
> > > }
> > > }
> > > }
> > >
> > > private void buttonNext_Click(object sender, System.EventArgs e)
> > > {
> > > this.Hide();
> > > this.Next.Show();
> > > }
> > >
> > > private void buttonBack_Click(object sender, System.EventArgs e)
> > > {
> > > this.Hide();
> > > this.Back.Show();
> > > }
> > >
> > >
> > >
> > > public class MainForm : System.Windows.Forms.Form
> > > {
> > > private FormWisard form1=new FormWisard("Form 1");
> > > private FormWisard form2=new FormWisard("Form 2");
> > > private FormWisard form3=new FormWisard("Form 3");
> > >
> > > public MainForm()
> > > {
> > > form1.Back=null;
> > > form1.Next=form2;
> > >
> > > form2.Back=form1;
> > > form2.Next=form3;
> > >
> > > form3.Back=form2;
> > > form3.Next=null;
> > >
> > > }
> > >
> > > private void MainForm_Load(object sender, System.EventArgs e)
> > > {
> > > form1.Show();
> > > }
> > >
> > > [STAThread]
> > > static void Main()
> > > {
> > > Application.Run(new MainForm());
> > > }
> > > }
> > > }
> > >
> > > ça affiche qu'une fenetre vide.
> > >
> > > et si je met ça :
> > > Application.Run(form1); // car je veux démarer l'application avec
> > > fenetre form1
> > > il y a l'erreur : Une référence d'objet est requise pour le champ
> > > statique "Wizard.MainForm.form1"
> > > Comment faire SVP????? y a une autre methode?
> > >
> > >
> > >
> >
> > Un Wizard est une fenêtre qui affiche différents contrôles selon un
chemin
> > précis.
> >
> > La méthode la plus simple pour implémenter un wirard est de n'avoir
qu'un
> > formulaire qui contient plusieurs contrôles Panel, contenant chacun un
> écran
> > différent, que vous cachez et affichez à tour de rôle.
> >
> > Vous n'avez pas de communication inter formulaire, pas de gestion
> éparpillée
> > du chaînage des étapes, une centralisation des données collectées, pas
de
> > gestion des formulaires planqués sous d'autres, etc. . En un mot : un
code
> > beaucoup plus simple.
> >
> > Un exemple de gestionnaire de bouton Next
> >
> >
> >
> > Next_Clicked(.){
> >
> > if(m_courantPanel<m_Panels.Count){
> >
> > m_Panels[courantPanel].Visible = false;
> >
> > m_Panels[courantPanel].Visible = true;
> >
> > CollecteInformation(courantPanel);
> >
> > courantPanel++;
> >
> > }
> >
> > }
> >
> >
> > --
> > Paul Bacelar
> >
> >
>
>
J'ai du mal à voir pourquoi votre cas d'utilisation ne colle pas avec
l'approche par panel.
Si vous voulez des Forms qui d'affichent en file indienne avec un back,
pourquoi ne pas utiliser un ShowDialog sur les formulaires avec un
DialogResult câblé sur le bouton Back?
--
Paul Bacelar
"CooL6a" <CooL6a@yayoo.fr> wrote in message
news:uob79o4AFHA.2640@TK2MSFTNGP14.phx.gbl...
> Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai plusieurs
> fenêtres dont la première par exemple est celle de la connexion, et je
veux
> au moins donner la possibilité à l'utilisateur de revenir en arrière
> visualiser ou changer ces choix, ce que tu m'a proposé je le fait dans
> fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou cachés
selon
> le contexte.
>
>
> "Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le
> de news:uC$BytyAFHA.3336@TK2MSFTNGP11.phx.gbl...
> > "CooL6a" <CooL6a@yayoo.fr> wrote in message
> > news:uvvfcxvAFHA.1408@TK2MSFTNGP10.phx.gbl...
> > > Bonjour,
> > > je veux avoir la possibilité de naviguer entre 3 fenêtres, chacune
> > contient
> > > deux boutons Next et Back, j'ai écris ce code:
> > >
> > > namespace Wisard
> > > {
> > > class FormWisard : System.Windows.Forms.Form
> > > {
> > >
> > >
> > > public FormWisard(String Title)
> > > {
> > > this.Text = Title;
> > > }
> > >
> > > private System.Windows.Forms.Form _next;
> > > //Fenetre suivante
> > > private System.Windows.Forms.Button buttonNext;
> > > private System.Windows.Forms.Button buttonBack;
> > > private System.Windows.Forms.Form _back;
> > > //Fenêtre prec
> > >
> > > //Initialisation des prop des composants buttonNext, buttonBack et
la
> > > fenetre FormWisard
> > > ......
> > >
> > > // les proprietes Next et Back
> > > public System.Windows.Forms.Form Next
> > > {
> > > get
> > > {
> > > return _next;
> > > }
> > > set
> > > {
> > > _next=value;
> > > }
> > > }
> > > public System.Windows.Forms.Form Back
> > > {
> > > get
> > > {
> > > return _back;
> > > }
> > > set
> > > {
> > > _back=value;
> > > }
> > > }
> > > }
> > >
> > > private void buttonNext_Click(object sender, System.EventArgs e)
> > > {
> > > this.Hide();
> > > this.Next.Show();
> > > }
> > >
> > > private void buttonBack_Click(object sender, System.EventArgs e)
> > > {
> > > this.Hide();
> > > this.Back.Show();
> > > }
> > >
> > >
> > >
> > > public class MainForm : System.Windows.Forms.Form
> > > {
> > > private FormWisard form1=new FormWisard("Form 1");
> > > private FormWisard form2=new FormWisard("Form 2");
> > > private FormWisard form3=new FormWisard("Form 3");
> > >
> > > public MainForm()
> > > {
> > > form1.Back=null;
> > > form1.Next=form2;
> > >
> > > form2.Back=form1;
> > > form2.Next=form3;
> > >
> > > form3.Back=form2;
> > > form3.Next=null;
> > >
> > > }
> > >
> > > private void MainForm_Load(object sender, System.EventArgs e)
> > > {
> > > form1.Show();
> > > }
> > >
> > > [STAThread]
> > > static void Main()
> > > {
> > > Application.Run(new MainForm());
> > > }
> > > }
> > > }
> > >
> > > ça affiche qu'une fenetre vide.
> > >
> > > et si je met ça :
> > > Application.Run(form1); // car je veux démarer l'application avec
> > > fenetre form1
> > > il y a l'erreur : Une référence d'objet est requise pour le champ
> > > statique "Wizard.MainForm.form1"
> > > Comment faire SVP????? y a une autre methode?
> > >
> > >
> > >
> >
> > Un Wizard est une fenêtre qui affiche différents contrôles selon un
chemin
> > précis.
> >
> > La méthode la plus simple pour implémenter un wirard est de n'avoir
qu'un
> > formulaire qui contient plusieurs contrôles Panel, contenant chacun un
> écran
> > différent, que vous cachez et affichez à tour de rôle.
> >
> > Vous n'avez pas de communication inter formulaire, pas de gestion
> éparpillée
> > du chaînage des étapes, une centralisation des données collectées, pas
de
> > gestion des formulaires planqués sous d'autres, etc. . En un mot : un
code
> > beaucoup plus simple.
> >
> > Un exemple de gestionnaire de bouton Next
> >
> >
> >
> > Next_Clicked(.){
> >
> > if(m_courantPanel<m_Panels.Count){
> >
> > m_Panels[courantPanel].Visible = false;
> >
> > m_Panels[courantPanel].Visible = true;
> >
> > CollecteInformation(courantPanel);
> >
> > courantPanel++;
> >
> > }
> >
> > }
> >
> >
> > --
> > Paul Bacelar
> >
> >
>
>
J'ai du mal à voir pourquoi votre cas d'utilisation ne colle pas avec
l'approche par panel.
Si vous voulez des Forms qui d'affichent en file indienne avec un back,
pourquoi ne pas utiliser un ShowDialog sur les formulaires avec un
DialogResult câblé sur le bouton Back?
--
Paul Bacelar
"CooL6a" wrote in message
news:
> Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai plusieurs
> fenêtres dont la première par exemple est celle de la connexion, et je
veux
> au moins donner la possibilité à l'utilisateur de revenir en arrière
> visualiser ou changer ces choix, ce que tu m'a proposé je le fait dans
> fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou cachés
selon
> le contexte.
>
>
> "Paul Bacelar" a écrit dans le
> de news:uC$
> > "CooL6a" wrote in message
> > news:
> > > Bonjour,
> > > je veux avoir la possibilité de naviguer entre 3 fenêtres, chacune
> > contient
> > > deux boutons Next et Back, j'ai écris ce code:
> > >
> > > namespace Wisard
> > > {
> > > class FormWisard : System.Windows.Forms.Form
> > > {
> > >
> > >
> > > public FormWisard(String Title)
> > > {
> > > this.Text = Title;
> > > }
> > >
> > > private System.Windows.Forms.Form _next;
> > > //Fenetre suivante
> > > private System.Windows.Forms.Button buttonNext;
> > > private System.Windows.Forms.Button buttonBack;
> > > private System.Windows.Forms.Form _back;
> > > //Fenêtre prec
> > >
> > > //Initialisation des prop des composants buttonNext, buttonBack et
la
> > > fenetre FormWisard
> > > ......
> > >
> > > // les proprietes Next et Back
> > > public System.Windows.Forms.Form Next
> > > {
> > > get
> > > {
> > > return _next;
> > > }
> > > set
> > > {
> > > _next=value;
> > > }
> > > }
> > > public System.Windows.Forms.Form Back
> > > {
> > > get
> > > {
> > > return _back;
> > > }
> > > set
> > > {
> > > _back=value;
> > > }
> > > }
> > > }
> > >
> > > private void buttonNext_Click(object sender, System.EventArgs e)
> > > {
> > > this.Hide();
> > > this.Next.Show();
> > > }
> > >
> > > private void buttonBack_Click(object sender, System.EventArgs e)
> > > {
> > > this.Hide();
> > > this.Back.Show();
> > > }
> > >
> > >
> > >
> > > public class MainForm : System.Windows.Forms.Form
> > > {
> > > private FormWisard form1=new FormWisard("Form 1");
> > > private FormWisard form2=new FormWisard("Form 2");
> > > private FormWisard form3=new FormWisard("Form 3");
> > >
> > > public MainForm()
> > > {
> > > form1.Back=null;
> > > form1.Next=form2;
> > >
> > > form2.Back=form1;
> > > form2.Next=form3;
> > >
> > > form3.Back=form2;
> > > form3.Next=null;
> > >
> > > }
> > >
> > > private void MainForm_Load(object sender, System.EventArgs e)
> > > {
> > > form1.Show();
> > > }
> > >
> > > [STAThread]
> > > static void Main()
> > > {
> > > Application.Run(new MainForm());
> > > }
> > > }
> > > }
> > >
> > > ça affiche qu'une fenetre vide.
> > >
> > > et si je met ça :
> > > Application.Run(form1); // car je veux démarer l'application avec
> > > fenetre form1
> > > il y a l'erreur : Une référence d'objet est requise pour le champ
> > > statique "Wizard.MainForm.form1"
> > > Comment faire SVP????? y a une autre methode?
> > >
> > >
> > >
> >
> > Un Wizard est une fenêtre qui affiche différents contrôles selon un
chemin
> > précis.
> >
> > La méthode la plus simple pour implémenter un wirard est de n'avoir
qu'un
> > formulaire qui contient plusieurs contrôles Panel, contenant chacun un
> écran
> > différent, que vous cachez et affichez à tour de rôle.
> >
> > Vous n'avez pas de communication inter formulaire, pas de gestion
> éparpillée
> > du chaînage des étapes, une centralisation des données collectées, pas
de
> > gestion des formulaires planqués sous d'autres, etc. . En un mot : un
code
> > beaucoup plus simple.
> >
> > Un exemple de gestionnaire de bouton Next
> >
> >
> >
> > Next_Clicked(.){
> >
> > if(m_courantPanel<m_Panels.Count){
> >
> > m_Panels[courantPanel].Visible = false;
> >
> > m_Panels[courantPanel].Visible = true;
> >
> > CollecteInformation(courantPanel);
> >
> > courantPanel++;
> >
> > }
> >
> > }
> >
> >
> > --
> > Paul Bacelar
> >
> >
>
>
Quand on a un projet avec une centaines d'interfaces alors ça devient
fastidieux de les gérer toutes dans un même formulaire avec des panels,
peut-être je n'étais pas clair avant car je voulais simplifier ma
mais croyez moi j'ai besoin de gérer la navigation entre plusieurs
fenêtres...
"Paul Bacelar" a écrit dans le message
de news:OneBzW$
> J'ai du mal à voir pourquoi votre cas d'utilisation ne colle pas avec
> l'approche par panel.
>
> Si vous voulez des Forms qui d'affichent en file indienne avec un back,
> pourquoi ne pas utiliser un ShowDialog sur les formulaires avec un
> DialogResult câblé sur le bouton Back?
> --
> Paul Bacelar
>
>
> "CooL6a" wrote in message
> news:
> > Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai
> > fenêtres dont la première par exemple est celle de la connexion, et je
> veux
> > au moins donner la possibilité à l'utilisateur de revenir en arrière
pour
> > visualiser ou changer ces choix, ce que tu m'a proposé je le fait dans
ces
> > fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou cachés
> selon
> > le contexte.
> >
> >
> > "Paul Bacelar" a écrit dans le
message
> > de news:uC$
> > > "CooL6a" wrote in message
> > > news:
> > > > Bonjour,
> > > > je veux avoir la possibilité de naviguer entre 3 fenêtres, chacune
> > > contient
> > > > deux boutons Next et Back, j'ai écris ce code:
> > > >
> > > > namespace Wisard
> > > > {
> > > > class FormWisard : System.Windows.Forms.Form
> > > > {
> > > >
> > > >
> > > > public FormWisard(String Title)
> > > > {
> > > > this.Text = Title;
> > > > }
> > > >
> > > > private System.Windows.Forms.Form _next;
> > > > //Fenetre suivante
> > > > private System.Windows.Forms.Button buttonNext;
> > > > private System.Windows.Forms.Button buttonBack;
> > > > private System.Windows.Forms.Form _back;
> > > > //Fenêtre prec
> > > >
> > > > //Initialisation des prop des composants buttonNext, buttonBack et
de
> la
> > > > fenetre FormWisard
> > > > ......
> > > >
> > > > // les proprietes Next et Back
> > > > public System.Windows.Forms.Form Next
> > > > {
> > > > get
> > > > {
> > > > return _next;
> > > > }
> > > > set
> > > > {
> > > > _next=value;
> > > > }
> > > > }
> > > > public System.Windows.Forms.Form Back
> > > > {
> > > > get
> > > > {
> > > > return _back;
> > > > }
> > > > set
> > > > {
> > > > _back=value;
> > > > }
> > > > }
> > > > }
> > > >
> > > > private void buttonNext_Click(object sender, System.EventArgs e)
> > > > {
> > > > this.Hide();
> > > > this.Next.Show();
> > > > }
> > > >
> > > > private void buttonBack_Click(object sender, System.EventArgs e)
> > > > {
> > > > this.Hide();
> > > > this.Back.Show();
> > > > }
> > > >
> > > >
> > > >
> > > > public class MainForm : System.Windows.Forms.Form
> > > > {
> > > > private FormWisard form1=new FormWisard("Form 1");
> > > > private FormWisard form2=new FormWisard("Form 2");
> > > > private FormWisard form3=new FormWisard("Form 3");
> > > >
> > > > public MainForm()
> > > > {
> > > > form1.Back=null;
> > > > form1.Next=form2;
> > > >
> > > > form2.Back=form1;
> > > > form2.Next=form3;
> > > >
> > > > form3.Back=form2;
> > > > form3.Next=null;
> > > >
> > > > }
> > > >
> > > > private void MainForm_Load(object sender, System.EventArgs e)
> > > > {
> > > > form1.Show();
> > > > }
> > > >
> > > > [STAThread]
> > > > static void Main()
> > > > {
> > > > Application.Run(new MainForm());
> > > > }
> > > > }
> > > > }
> > > >
> > > > ça affiche qu'une fenetre vide.
> > > >
> > > > et si je met ça :
> > > > Application.Run(form1); // car je veux démarer l'application
la
> > > > fenetre form1
> > > > il y a l'erreur : Une référence d'objet est requise pour le champ
non
> > > > statique "Wizard.MainForm.form1"
> > > > Comment faire SVP????? y a une autre methode?
> > > >
> > > >
> > > >
> > >
> > > Un Wizard est une fenêtre qui affiche différents contrôles selon un
> chemin
> > > précis.
> > >
> > > La méthode la plus simple pour implémenter un wirard est de n'avoir
> qu'un
> > > formulaire qui contient plusieurs contrôles Panel, contenant chacun
> > écran
> > > différent, que vous cachez et affichez à tour de rôle.
> > >
> > > Vous n'avez pas de communication inter formulaire, pas de gestion
> > éparpillée
> > > du chaînage des étapes, une centralisation des données collectées,
> de
> > > gestion des formulaires planqués sous d'autres, etc. . En un mot :
> code
> > > beaucoup plus simple.
> > >
> > > Un exemple de gestionnaire de bouton Next
> > >
> > >
> > >
> > > Next_Clicked(.){
> > >
> > > if(m_courantPanel<m_Panels.Count){
> > >
> > > m_Panels[courantPanel].Visible = false;
> > >
> > > m_Panels[courantPanel].Visible = true;
> > >
> > > CollecteInformation(courantPanel);
> > >
> > > courantPanel++;
> > >
> > > }
> > >
> > > }
> > >
> > >
> > > --
> > > Paul Bacelar
> > >
> > >
> >
> >
>
>
Quand on a un projet avec une centaines d'interfaces alors ça devient
fastidieux de les gérer toutes dans un même formulaire avec des panels,
peut-être je n'étais pas clair avant car je voulais simplifier ma
mais croyez moi j'ai besoin de gérer la navigation entre plusieurs
fenêtres...
"Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le message
de news:OneBzW$AFHA.824@TK2MSFTNGP11.phx.gbl...
> J'ai du mal à voir pourquoi votre cas d'utilisation ne colle pas avec
> l'approche par panel.
>
> Si vous voulez des Forms qui d'affichent en file indienne avec un back,
> pourquoi ne pas utiliser un ShowDialog sur les formulaires avec un
> DialogResult câblé sur le bouton Back?
> --
> Paul Bacelar
>
>
> "CooL6a" <CooL6a@yayoo.fr> wrote in message
> news:uob79o4AFHA.2640@TK2MSFTNGP14.phx.gbl...
> > Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai
> > fenêtres dont la première par exemple est celle de la connexion, et je
> veux
> > au moins donner la possibilité à l'utilisateur de revenir en arrière
pour
> > visualiser ou changer ces choix, ce que tu m'a proposé je le fait dans
ces
> > fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou cachés
> selon
> > le contexte.
> >
> >
> > "Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le
message
> > de news:uC$BytyAFHA.3336@TK2MSFTNGP11.phx.gbl...
> > > "CooL6a" <CooL6a@yayoo.fr> wrote in message
> > > news:uvvfcxvAFHA.1408@TK2MSFTNGP10.phx.gbl...
> > > > Bonjour,
> > > > je veux avoir la possibilité de naviguer entre 3 fenêtres, chacune
> > > contient
> > > > deux boutons Next et Back, j'ai écris ce code:
> > > >
> > > > namespace Wisard
> > > > {
> > > > class FormWisard : System.Windows.Forms.Form
> > > > {
> > > >
> > > >
> > > > public FormWisard(String Title)
> > > > {
> > > > this.Text = Title;
> > > > }
> > > >
> > > > private System.Windows.Forms.Form _next;
> > > > //Fenetre suivante
> > > > private System.Windows.Forms.Button buttonNext;
> > > > private System.Windows.Forms.Button buttonBack;
> > > > private System.Windows.Forms.Form _back;
> > > > //Fenêtre prec
> > > >
> > > > //Initialisation des prop des composants buttonNext, buttonBack et
de
> la
> > > > fenetre FormWisard
> > > > ......
> > > >
> > > > // les proprietes Next et Back
> > > > public System.Windows.Forms.Form Next
> > > > {
> > > > get
> > > > {
> > > > return _next;
> > > > }
> > > > set
> > > > {
> > > > _next=value;
> > > > }
> > > > }
> > > > public System.Windows.Forms.Form Back
> > > > {
> > > > get
> > > > {
> > > > return _back;
> > > > }
> > > > set
> > > > {
> > > > _back=value;
> > > > }
> > > > }
> > > > }
> > > >
> > > > private void buttonNext_Click(object sender, System.EventArgs e)
> > > > {
> > > > this.Hide();
> > > > this.Next.Show();
> > > > }
> > > >
> > > > private void buttonBack_Click(object sender, System.EventArgs e)
> > > > {
> > > > this.Hide();
> > > > this.Back.Show();
> > > > }
> > > >
> > > >
> > > >
> > > > public class MainForm : System.Windows.Forms.Form
> > > > {
> > > > private FormWisard form1=new FormWisard("Form 1");
> > > > private FormWisard form2=new FormWisard("Form 2");
> > > > private FormWisard form3=new FormWisard("Form 3");
> > > >
> > > > public MainForm()
> > > > {
> > > > form1.Back=null;
> > > > form1.Next=form2;
> > > >
> > > > form2.Back=form1;
> > > > form2.Next=form3;
> > > >
> > > > form3.Back=form2;
> > > > form3.Next=null;
> > > >
> > > > }
> > > >
> > > > private void MainForm_Load(object sender, System.EventArgs e)
> > > > {
> > > > form1.Show();
> > > > }
> > > >
> > > > [STAThread]
> > > > static void Main()
> > > > {
> > > > Application.Run(new MainForm());
> > > > }
> > > > }
> > > > }
> > > >
> > > > ça affiche qu'une fenetre vide.
> > > >
> > > > et si je met ça :
> > > > Application.Run(form1); // car je veux démarer l'application
la
> > > > fenetre form1
> > > > il y a l'erreur : Une référence d'objet est requise pour le champ
non
> > > > statique "Wizard.MainForm.form1"
> > > > Comment faire SVP????? y a une autre methode?
> > > >
> > > >
> > > >
> > >
> > > Un Wizard est une fenêtre qui affiche différents contrôles selon un
> chemin
> > > précis.
> > >
> > > La méthode la plus simple pour implémenter un wirard est de n'avoir
> qu'un
> > > formulaire qui contient plusieurs contrôles Panel, contenant chacun
> > écran
> > > différent, que vous cachez et affichez à tour de rôle.
> > >
> > > Vous n'avez pas de communication inter formulaire, pas de gestion
> > éparpillée
> > > du chaînage des étapes, une centralisation des données collectées,
> de
> > > gestion des formulaires planqués sous d'autres, etc. . En un mot :
> code
> > > beaucoup plus simple.
> > >
> > > Un exemple de gestionnaire de bouton Next
> > >
> > >
> > >
> > > Next_Clicked(.){
> > >
> > > if(m_courantPanel<m_Panels.Count){
> > >
> > > m_Panels[courantPanel].Visible = false;
> > >
> > > m_Panels[courantPanel].Visible = true;
> > >
> > > CollecteInformation(courantPanel);
> > >
> > > courantPanel++;
> > >
> > > }
> > >
> > > }
> > >
> > >
> > > --
> > > Paul Bacelar
> > >
> > >
> >
> >
>
>
Quand on a un projet avec une centaines d'interfaces alors ça devient
fastidieux de les gérer toutes dans un même formulaire avec des panels,
peut-être je n'étais pas clair avant car je voulais simplifier ma
mais croyez moi j'ai besoin de gérer la navigation entre plusieurs
fenêtres...
"Paul Bacelar" a écrit dans le message
de news:OneBzW$
> J'ai du mal à voir pourquoi votre cas d'utilisation ne colle pas avec
> l'approche par panel.
>
> Si vous voulez des Forms qui d'affichent en file indienne avec un back,
> pourquoi ne pas utiliser un ShowDialog sur les formulaires avec un
> DialogResult câblé sur le bouton Back?
> --
> Paul Bacelar
>
>
> "CooL6a" wrote in message
> news:
> > Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai
> > fenêtres dont la première par exemple est celle de la connexion, et je
> veux
> > au moins donner la possibilité à l'utilisateur de revenir en arrière
pour
> > visualiser ou changer ces choix, ce que tu m'a proposé je le fait dans
ces
> > fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou cachés
> selon
> > le contexte.
> >
> >
> > "Paul Bacelar" a écrit dans le
message
> > de news:uC$
> > > "CooL6a" wrote in message
> > > news:
> > > > Bonjour,
> > > > je veux avoir la possibilité de naviguer entre 3 fenêtres, chacune
> > > contient
> > > > deux boutons Next et Back, j'ai écris ce code:
> > > >
> > > > namespace Wisard
> > > > {
> > > > class FormWisard : System.Windows.Forms.Form
> > > > {
> > > >
> > > >
> > > > public FormWisard(String Title)
> > > > {
> > > > this.Text = Title;
> > > > }
> > > >
> > > > private System.Windows.Forms.Form _next;
> > > > //Fenetre suivante
> > > > private System.Windows.Forms.Button buttonNext;
> > > > private System.Windows.Forms.Button buttonBack;
> > > > private System.Windows.Forms.Form _back;
> > > > //Fenêtre prec
> > > >
> > > > //Initialisation des prop des composants buttonNext, buttonBack et
de
> la
> > > > fenetre FormWisard
> > > > ......
> > > >
> > > > // les proprietes Next et Back
> > > > public System.Windows.Forms.Form Next
> > > > {
> > > > get
> > > > {
> > > > return _next;
> > > > }
> > > > set
> > > > {
> > > > _next=value;
> > > > }
> > > > }
> > > > public System.Windows.Forms.Form Back
> > > > {
> > > > get
> > > > {
> > > > return _back;
> > > > }
> > > > set
> > > > {
> > > > _back=value;
> > > > }
> > > > }
> > > > }
> > > >
> > > > private void buttonNext_Click(object sender, System.EventArgs e)
> > > > {
> > > > this.Hide();
> > > > this.Next.Show();
> > > > }
> > > >
> > > > private void buttonBack_Click(object sender, System.EventArgs e)
> > > > {
> > > > this.Hide();
> > > > this.Back.Show();
> > > > }
> > > >
> > > >
> > > >
> > > > public class MainForm : System.Windows.Forms.Form
> > > > {
> > > > private FormWisard form1=new FormWisard("Form 1");
> > > > private FormWisard form2=new FormWisard("Form 2");
> > > > private FormWisard form3=new FormWisard("Form 3");
> > > >
> > > > public MainForm()
> > > > {
> > > > form1.Back=null;
> > > > form1.Next=form2;
> > > >
> > > > form2.Back=form1;
> > > > form2.Next=form3;
> > > >
> > > > form3.Back=form2;
> > > > form3.Next=null;
> > > >
> > > > }
> > > >
> > > > private void MainForm_Load(object sender, System.EventArgs e)
> > > > {
> > > > form1.Show();
> > > > }
> > > >
> > > > [STAThread]
> > > > static void Main()
> > > > {
> > > > Application.Run(new MainForm());
> > > > }
> > > > }
> > > > }
> > > >
> > > > ça affiche qu'une fenetre vide.
> > > >
> > > > et si je met ça :
> > > > Application.Run(form1); // car je veux démarer l'application
la
> > > > fenetre form1
> > > > il y a l'erreur : Une référence d'objet est requise pour le champ
non
> > > > statique "Wizard.MainForm.form1"
> > > > Comment faire SVP????? y a une autre methode?
> > > >
> > > >
> > > >
> > >
> > > Un Wizard est une fenêtre qui affiche différents contrôles selon un
> chemin
> > > précis.
> > >
> > > La méthode la plus simple pour implémenter un wirard est de n'avoir
> qu'un
> > > formulaire qui contient plusieurs contrôles Panel, contenant chacun
> > écran
> > > différent, que vous cachez et affichez à tour de rôle.
> > >
> > > Vous n'avez pas de communication inter formulaire, pas de gestion
> > éparpillée
> > > du chaînage des étapes, une centralisation des données collectées,
> de
> > > gestion des formulaires planqués sous d'autres, etc. . En un mot :
> code
> > > beaucoup plus simple.
> > >
> > > Un exemple de gestionnaire de bouton Next
> > >
> > >
> > >
> > > Next_Clicked(.){
> > >
> > > if(m_courantPanel<m_Panels.Count){
> > >
> > > m_Panels[courantPanel].Visible = false;
> > >
> > > m_Panels[courantPanel].Visible = true;
> > >
> > > CollecteInformation(courantPanel);
> > >
> > > courantPanel++;
> > >
> > > }
> > >
> > > }
> > >
> > >
> > > --
> > > Paul Bacelar
> > >
> > >
> >
> >
>
>
Quand on a une centaine d'interfaces, il est encore plus fastidieux de
des fenêtres indépendantes qui peuvent se cacher les une les autres et qui
doivent se connaître entre elles. Avec un seul formulaire ou un nombre
restreint, cela simplifie énormément la gestion car le nombre de
configurations de visibilité des différents éléments est limité.
Vous dites qu'il est fastidieux d'avoir à gérer un nombre important de
par formulaire, mais pensez que pour l'utilisateur, il est fastidieux
d'avoir une pléthores de formulaires ouverts en même temps ou qui
et se ferme de manière intempestive; entraînant un rallye avec la souris à
la poursuite du nouveau formulaire décalé à l'écran du précédent, ou
un safari pour s'avoir derrière quelle satané fenêtre c'est planqué le
nouveau formulaire.
Les Panels et les UserControls permettent de gérer les interfaces qui à un
moment T, sont simple.
Si, à un moment de l'exécution de votre programme, vous vous retrouvez
une interface qui ne se résumerait pas à un formulaire, les boutons "Prev"
et "Next" ne seront sûrement pas adaptés et le problème ne sera pas le
chaînage des formulaire mais leur interactions qui repose sur une
soignée.
Pouvez vous caractériser votre problème car avoir des centaines d'écrans
n'est aucunement antinomique de l'utilisation de panel dans un formulaire
avec des UserControls différents pour chaque écran. Chaque UserControl
pouvant maîtriser ses propres données si nécessaires ou les partagé avec
autre mais alors sous la tutelle du formulaire principale.
--
Paul Bacelar
"CooL6a" wrote in message
news:
> Quand on a un projet avec une centaines d'interfaces alors ça devient
> fastidieux de les gérer toutes dans un même formulaire avec des panels,
> peut-être je n'étais pas clair avant car je voulais simplifier ma
question,
> mais croyez moi j'ai besoin de gérer la navigation entre plusieurs
> fenêtres...
>
> "Paul Bacelar" a écrit dans le
> de news:OneBzW$
> > J'ai du mal à voir pourquoi votre cas d'utilisation ne colle pas avec
> > l'approche par panel.
> >
> > Si vous voulez des Forms qui d'affichent en file indienne avec un
> > pourquoi ne pas utiliser un ShowDialog sur les formulaires avec un
> > DialogResult câblé sur le bouton Back?
> > --
> > Paul Bacelar
> >
> >
> > "CooL6a" wrote in message
> > news:
> > > Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai
plusieurs
> > > fenêtres dont la première par exemple est celle de la connexion, et
> > veux
> > > au moins donner la possibilité à l'utilisateur de revenir en arrière
> pour
> > > visualiser ou changer ces choix, ce que tu m'a proposé je le fait
> ces
> > > fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou
> > selon
> > > le contexte.
> > >
> > >
> > > "Paul Bacelar" a écrit dans le
> message
> > > de news:uC$
> > > > "CooL6a" wrote in message
> > > > news:
> > > > > Bonjour,
> > > > > je veux avoir la possibilité de naviguer entre 3 fenêtres,
> > > > contient
> > > > > deux boutons Next et Back, j'ai écris ce code:
> > > > >
> > > > > namespace Wisard
> > > > > {
> > > > > class FormWisard : System.Windows.Forms.Form
> > > > > {
> > > > >
> > > > >
> > > > > public FormWisard(String Title)
> > > > > {
> > > > > this.Text = Title;
> > > > > }
> > > > >
> > > > > private System.Windows.Forms.Form _next;
> > > > > //Fenetre suivante
> > > > > private System.Windows.Forms.Button buttonNext;
> > > > > private System.Windows.Forms.Button buttonBack;
> > > > > private System.Windows.Forms.Form _back;
> > > > > //Fenêtre prec
> > > > >
> > > > > //Initialisation des prop des composants buttonNext, buttonBack
> de
> > la
> > > > > fenetre FormWisard
> > > > > ......
> > > > >
> > > > > // les proprietes Next et Back
> > > > > public System.Windows.Forms.Form Next
> > > > > {
> > > > > get
> > > > > {
> > > > > return _next;
> > > > > }
> > > > > set
> > > > > {
> > > > > _next=value;
> > > > > }
> > > > > }
> > > > > public System.Windows.Forms.Form Back
> > > > > {
> > > > > get
> > > > > {
> > > > > return _back;
> > > > > }
> > > > > set
> > > > > {
> > > > > _back=value;
> > > > > }
> > > > > }
> > > > > }
> > > > >
> > > > > private void buttonNext_Click(object sender, System.EventArgs e)
> > > > > {
> > > > > this.Hide();
> > > > > this.Next.Show();
> > > > > }
> > > > >
> > > > > private void buttonBack_Click(object sender, System.EventArgs e)
> > > > > {
> > > > > this.Hide();
> > > > > this.Back.Show();
> > > > > }
> > > > >
> > > > >
> > > > >
> > > > > public class MainForm : System.Windows.Forms.Form
> > > > > {
> > > > > private FormWisard form1=new FormWisard("Form 1");
> > > > > private FormWisard form2=new FormWisard("Form 2");
> > > > > private FormWisard form3=new FormWisard("Form 3");
> > > > >
> > > > > public MainForm()
> > > > > {
> > > > > form1.Back=null;
> > > > > form1.Next=form2;
> > > > >
> > > > > form2.Back=form1;
> > > > > form2.Next=form3;
> > > > >
> > > > > form3.Back=form2;
> > > > > form3.Next=null;
> > > > >
> > > > > }
> > > > >
> > > > > private void MainForm_Load(object sender, System.EventArgs e)
> > > > > {
> > > > > form1.Show();
> > > > > }
> > > > >
> > > > > [STAThread]
> > > > > static void Main()
> > > > > {
> > > > > Application.Run(new MainForm());
> > > > > }
> > > > > }
> > > > > }
> > > > >
> > > > > ça affiche qu'une fenetre vide.
> > > > >
> > > > > et si je met ça :
> > > > > Application.Run(form1); // car je veux démarer l'application
avec
> la
> > > > > fenetre form1
> > > > > il y a l'erreur : Une référence d'objet est requise pour le
> non
> > > > > statique "Wizard.MainForm.form1"
> > > > > Comment faire SVP????? y a une autre methode?
> > > > >
> > > > >
> > > > >
> > > >
> > > > Un Wizard est une fenêtre qui affiche différents contrôles selon
> > chemin
> > > > précis.
> > > >
> > > > La méthode la plus simple pour implémenter un wirard est de
> > qu'un
> > > > formulaire qui contient plusieurs contrôles Panel, contenant
un
> > > écran
> > > > différent, que vous cachez et affichez à tour de rôle.
> > > >
> > > > Vous n'avez pas de communication inter formulaire, pas de gestion
> > > éparpillée
> > > > du chaînage des étapes, une centralisation des données collectées,
pas
> > de
> > > > gestion des formulaires planqués sous d'autres, etc. . En un mot :
un
> > code
> > > > beaucoup plus simple.
> > > >
> > > > Un exemple de gestionnaire de bouton Next
> > > >
> > > >
> > > >
> > > > Next_Clicked(.){
> > > >
> > > > if(m_courantPanel<m_Panels.Count){
> > > >
> > > > m_Panels[courantPanel].Visible = false;
> > > >
> > > > m_Panels[courantPanel].Visible = true;
> > > >
> > > > CollecteInformation(courantPanel);
> > > >
> > > > courantPanel++;
> > > >
> > > > }
> > > >
> > > > }
> > > >
> > > >
> > > > --
> > > > Paul Bacelar
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Quand on a une centaine d'interfaces, il est encore plus fastidieux de
des fenêtres indépendantes qui peuvent se cacher les une les autres et qui
doivent se connaître entre elles. Avec un seul formulaire ou un nombre
restreint, cela simplifie énormément la gestion car le nombre de
configurations de visibilité des différents éléments est limité.
Vous dites qu'il est fastidieux d'avoir à gérer un nombre important de
par formulaire, mais pensez que pour l'utilisateur, il est fastidieux
d'avoir une pléthores de formulaires ouverts en même temps ou qui
et se ferme de manière intempestive; entraînant un rallye avec la souris à
la poursuite du nouveau formulaire décalé à l'écran du précédent, ou
un safari pour s'avoir derrière quelle satané fenêtre c'est planqué le
nouveau formulaire.
Les Panels et les UserControls permettent de gérer les interfaces qui à un
moment T, sont simple.
Si, à un moment de l'exécution de votre programme, vous vous retrouvez
une interface qui ne se résumerait pas à un formulaire, les boutons "Prev"
et "Next" ne seront sûrement pas adaptés et le problème ne sera pas le
chaînage des formulaire mais leur interactions qui repose sur une
soignée.
Pouvez vous caractériser votre problème car avoir des centaines d'écrans
n'est aucunement antinomique de l'utilisation de panel dans un formulaire
avec des UserControls différents pour chaque écran. Chaque UserControl
pouvant maîtriser ses propres données si nécessaires ou les partagé avec
autre mais alors sous la tutelle du formulaire principale.
--
Paul Bacelar
"CooL6a" <CooL6a@yayoo.fr> wrote in message
news:e1D7rHFBFHA.3592@TK2MSFTNGP09.phx.gbl...
> Quand on a un projet avec une centaines d'interfaces alors ça devient
> fastidieux de les gérer toutes dans un même formulaire avec des panels,
> peut-être je n'étais pas clair avant car je voulais simplifier ma
question,
> mais croyez moi j'ai besoin de gérer la navigation entre plusieurs
> fenêtres...
>
> "Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le
> de news:OneBzW$AFHA.824@TK2MSFTNGP11.phx.gbl...
> > J'ai du mal à voir pourquoi votre cas d'utilisation ne colle pas avec
> > l'approche par panel.
> >
> > Si vous voulez des Forms qui d'affichent en file indienne avec un
> > pourquoi ne pas utiliser un ShowDialog sur les formulaires avec un
> > DialogResult câblé sur le bouton Back?
> > --
> > Paul Bacelar
> >
> >
> > "CooL6a" <CooL6a@yayoo.fr> wrote in message
> > news:uob79o4AFHA.2640@TK2MSFTNGP14.phx.gbl...
> > > Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai
plusieurs
> > > fenêtres dont la première par exemple est celle de la connexion, et
> > veux
> > > au moins donner la possibilité à l'utilisateur de revenir en arrière
> pour
> > > visualiser ou changer ces choix, ce que tu m'a proposé je le fait
> ces
> > > fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou
> > selon
> > > le contexte.
> > >
> > >
> > > "Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le
> message
> > > de news:uC$BytyAFHA.3336@TK2MSFTNGP11.phx.gbl...
> > > > "CooL6a" <CooL6a@yayoo.fr> wrote in message
> > > > news:uvvfcxvAFHA.1408@TK2MSFTNGP10.phx.gbl...
> > > > > Bonjour,
> > > > > je veux avoir la possibilité de naviguer entre 3 fenêtres,
> > > > contient
> > > > > deux boutons Next et Back, j'ai écris ce code:
> > > > >
> > > > > namespace Wisard
> > > > > {
> > > > > class FormWisard : System.Windows.Forms.Form
> > > > > {
> > > > >
> > > > >
> > > > > public FormWisard(String Title)
> > > > > {
> > > > > this.Text = Title;
> > > > > }
> > > > >
> > > > > private System.Windows.Forms.Form _next;
> > > > > //Fenetre suivante
> > > > > private System.Windows.Forms.Button buttonNext;
> > > > > private System.Windows.Forms.Button buttonBack;
> > > > > private System.Windows.Forms.Form _back;
> > > > > //Fenêtre prec
> > > > >
> > > > > //Initialisation des prop des composants buttonNext, buttonBack
> de
> > la
> > > > > fenetre FormWisard
> > > > > ......
> > > > >
> > > > > // les proprietes Next et Back
> > > > > public System.Windows.Forms.Form Next
> > > > > {
> > > > > get
> > > > > {
> > > > > return _next;
> > > > > }
> > > > > set
> > > > > {
> > > > > _next=value;
> > > > > }
> > > > > }
> > > > > public System.Windows.Forms.Form Back
> > > > > {
> > > > > get
> > > > > {
> > > > > return _back;
> > > > > }
> > > > > set
> > > > > {
> > > > > _back=value;
> > > > > }
> > > > > }
> > > > > }
> > > > >
> > > > > private void buttonNext_Click(object sender, System.EventArgs e)
> > > > > {
> > > > > this.Hide();
> > > > > this.Next.Show();
> > > > > }
> > > > >
> > > > > private void buttonBack_Click(object sender, System.EventArgs e)
> > > > > {
> > > > > this.Hide();
> > > > > this.Back.Show();
> > > > > }
> > > > >
> > > > >
> > > > >
> > > > > public class MainForm : System.Windows.Forms.Form
> > > > > {
> > > > > private FormWisard form1=new FormWisard("Form 1");
> > > > > private FormWisard form2=new FormWisard("Form 2");
> > > > > private FormWisard form3=new FormWisard("Form 3");
> > > > >
> > > > > public MainForm()
> > > > > {
> > > > > form1.Back=null;
> > > > > form1.Next=form2;
> > > > >
> > > > > form2.Back=form1;
> > > > > form2.Next=form3;
> > > > >
> > > > > form3.Back=form2;
> > > > > form3.Next=null;
> > > > >
> > > > > }
> > > > >
> > > > > private void MainForm_Load(object sender, System.EventArgs e)
> > > > > {
> > > > > form1.Show();
> > > > > }
> > > > >
> > > > > [STAThread]
> > > > > static void Main()
> > > > > {
> > > > > Application.Run(new MainForm());
> > > > > }
> > > > > }
> > > > > }
> > > > >
> > > > > ça affiche qu'une fenetre vide.
> > > > >
> > > > > et si je met ça :
> > > > > Application.Run(form1); // car je veux démarer l'application
avec
> la
> > > > > fenetre form1
> > > > > il y a l'erreur : Une référence d'objet est requise pour le
> non
> > > > > statique "Wizard.MainForm.form1"
> > > > > Comment faire SVP????? y a une autre methode?
> > > > >
> > > > >
> > > > >
> > > >
> > > > Un Wizard est une fenêtre qui affiche différents contrôles selon
> > chemin
> > > > précis.
> > > >
> > > > La méthode la plus simple pour implémenter un wirard est de
> > qu'un
> > > > formulaire qui contient plusieurs contrôles Panel, contenant
un
> > > écran
> > > > différent, que vous cachez et affichez à tour de rôle.
> > > >
> > > > Vous n'avez pas de communication inter formulaire, pas de gestion
> > > éparpillée
> > > > du chaînage des étapes, une centralisation des données collectées,
pas
> > de
> > > > gestion des formulaires planqués sous d'autres, etc. . En un mot :
un
> > code
> > > > beaucoup plus simple.
> > > >
> > > > Un exemple de gestionnaire de bouton Next
> > > >
> > > >
> > > >
> > > > Next_Clicked(.){
> > > >
> > > > if(m_courantPanel<m_Panels.Count){
> > > >
> > > > m_Panels[courantPanel].Visible = false;
> > > >
> > > > m_Panels[courantPanel].Visible = true;
> > > >
> > > > CollecteInformation(courantPanel);
> > > >
> > > > courantPanel++;
> > > >
> > > > }
> > > >
> > > > }
> > > >
> > > >
> > > > --
> > > > Paul Bacelar
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Quand on a une centaine d'interfaces, il est encore plus fastidieux de
des fenêtres indépendantes qui peuvent se cacher les une les autres et qui
doivent se connaître entre elles. Avec un seul formulaire ou un nombre
restreint, cela simplifie énormément la gestion car le nombre de
configurations de visibilité des différents éléments est limité.
Vous dites qu'il est fastidieux d'avoir à gérer un nombre important de
par formulaire, mais pensez que pour l'utilisateur, il est fastidieux
d'avoir une pléthores de formulaires ouverts en même temps ou qui
et se ferme de manière intempestive; entraînant un rallye avec la souris à
la poursuite du nouveau formulaire décalé à l'écran du précédent, ou
un safari pour s'avoir derrière quelle satané fenêtre c'est planqué le
nouveau formulaire.
Les Panels et les UserControls permettent de gérer les interfaces qui à un
moment T, sont simple.
Si, à un moment de l'exécution de votre programme, vous vous retrouvez
une interface qui ne se résumerait pas à un formulaire, les boutons "Prev"
et "Next" ne seront sûrement pas adaptés et le problème ne sera pas le
chaînage des formulaire mais leur interactions qui repose sur une
soignée.
Pouvez vous caractériser votre problème car avoir des centaines d'écrans
n'est aucunement antinomique de l'utilisation de panel dans un formulaire
avec des UserControls différents pour chaque écran. Chaque UserControl
pouvant maîtriser ses propres données si nécessaires ou les partagé avec
autre mais alors sous la tutelle du formulaire principale.
--
Paul Bacelar
"CooL6a" wrote in message
news:
> Quand on a un projet avec une centaines d'interfaces alors ça devient
> fastidieux de les gérer toutes dans un même formulaire avec des panels,
> peut-être je n'étais pas clair avant car je voulais simplifier ma
question,
> mais croyez moi j'ai besoin de gérer la navigation entre plusieurs
> fenêtres...
>
> "Paul Bacelar" a écrit dans le
> de news:OneBzW$
> > J'ai du mal à voir pourquoi votre cas d'utilisation ne colle pas avec
> > l'approche par panel.
> >
> > Si vous voulez des Forms qui d'affichent en file indienne avec un
> > pourquoi ne pas utiliser un ShowDialog sur les formulaires avec un
> > DialogResult câblé sur le bouton Back?
> > --
> > Paul Bacelar
> >
> >
> > "CooL6a" wrote in message
> > news:
> > > Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai
plusieurs
> > > fenêtres dont la première par exemple est celle de la connexion, et
> > veux
> > > au moins donner la possibilité à l'utilisateur de revenir en arrière
> pour
> > > visualiser ou changer ces choix, ce que tu m'a proposé je le fait
> ces
> > > fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou
> > selon
> > > le contexte.
> > >
> > >
> > > "Paul Bacelar" a écrit dans le
> message
> > > de news:uC$
> > > > "CooL6a" wrote in message
> > > > news:
> > > > > Bonjour,
> > > > > je veux avoir la possibilité de naviguer entre 3 fenêtres,
> > > > contient
> > > > > deux boutons Next et Back, j'ai écris ce code:
> > > > >
> > > > > namespace Wisard
> > > > > {
> > > > > class FormWisard : System.Windows.Forms.Form
> > > > > {
> > > > >
> > > > >
> > > > > public FormWisard(String Title)
> > > > > {
> > > > > this.Text = Title;
> > > > > }
> > > > >
> > > > > private System.Windows.Forms.Form _next;
> > > > > //Fenetre suivante
> > > > > private System.Windows.Forms.Button buttonNext;
> > > > > private System.Windows.Forms.Button buttonBack;
> > > > > private System.Windows.Forms.Form _back;
> > > > > //Fenêtre prec
> > > > >
> > > > > //Initialisation des prop des composants buttonNext, buttonBack
> de
> > la
> > > > > fenetre FormWisard
> > > > > ......
> > > > >
> > > > > // les proprietes Next et Back
> > > > > public System.Windows.Forms.Form Next
> > > > > {
> > > > > get
> > > > > {
> > > > > return _next;
> > > > > }
> > > > > set
> > > > > {
> > > > > _next=value;
> > > > > }
> > > > > }
> > > > > public System.Windows.Forms.Form Back
> > > > > {
> > > > > get
> > > > > {
> > > > > return _back;
> > > > > }
> > > > > set
> > > > > {
> > > > > _back=value;
> > > > > }
> > > > > }
> > > > > }
> > > > >
> > > > > private void buttonNext_Click(object sender, System.EventArgs e)
> > > > > {
> > > > > this.Hide();
> > > > > this.Next.Show();
> > > > > }
> > > > >
> > > > > private void buttonBack_Click(object sender, System.EventArgs e)
> > > > > {
> > > > > this.Hide();
> > > > > this.Back.Show();
> > > > > }
> > > > >
> > > > >
> > > > >
> > > > > public class MainForm : System.Windows.Forms.Form
> > > > > {
> > > > > private FormWisard form1=new FormWisard("Form 1");
> > > > > private FormWisard form2=new FormWisard("Form 2");
> > > > > private FormWisard form3=new FormWisard("Form 3");
> > > > >
> > > > > public MainForm()
> > > > > {
> > > > > form1.Back=null;
> > > > > form1.Next=form2;
> > > > >
> > > > > form2.Back=form1;
> > > > > form2.Next=form3;
> > > > >
> > > > > form3.Back=form2;
> > > > > form3.Next=null;
> > > > >
> > > > > }
> > > > >
> > > > > private void MainForm_Load(object sender, System.EventArgs e)
> > > > > {
> > > > > form1.Show();
> > > > > }
> > > > >
> > > > > [STAThread]
> > > > > static void Main()
> > > > > {
> > > > > Application.Run(new MainForm());
> > > > > }
> > > > > }
> > > > > }
> > > > >
> > > > > ça affiche qu'une fenetre vide.
> > > > >
> > > > > et si je met ça :
> > > > > Application.Run(form1); // car je veux démarer l'application
avec
> la
> > > > > fenetre form1
> > > > > il y a l'erreur : Une référence d'objet est requise pour le
> non
> > > > > statique "Wizard.MainForm.form1"
> > > > > Comment faire SVP????? y a une autre methode?
> > > > >
> > > > >
> > > > >
> > > >
> > > > Un Wizard est une fenêtre qui affiche différents contrôles selon
> > chemin
> > > > précis.
> > > >
> > > > La méthode la plus simple pour implémenter un wirard est de
> > qu'un
> > > > formulaire qui contient plusieurs contrôles Panel, contenant
un
> > > écran
> > > > différent, que vous cachez et affichez à tour de rôle.
> > > >
> > > > Vous n'avez pas de communication inter formulaire, pas de gestion
> > > éparpillée
> > > > du chaînage des étapes, une centralisation des données collectées,
pas
> > de
> > > > gestion des formulaires planqués sous d'autres, etc. . En un mot :
un
> > code
> > > > beaucoup plus simple.
> > > >
> > > > Un exemple de gestionnaire de bouton Next
> > > >
> > > >
> > > >
> > > > Next_Clicked(.){
> > > >
> > > > if(m_courantPanel<m_Panels.Count){
> > > >
> > > > m_Panels[courantPanel].Visible = false;
> > > >
> > > > m_Panels[courantPanel].Visible = true;
> > > >
> > > > CollecteInformation(courantPanel);
> > > >
> > > > courantPanel++;
> > > >
> > > > }
> > > >
> > > > }
> > > >
> > > >
> > > > --
> > > > Paul Bacelar
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Bien, supposant que ce que vous dites colle avec mon appli, maintenant
(juste par curiosité) comment faire pour naviguer entre 3 fenêtres, avec
show et hide?
"Paul Bacelar" a écrit dans le message
de news:%
> Quand on a une centaine d'interfaces, il est encore plus fastidieux de
gérer
> des fenêtres indépendantes qui peuvent se cacher les une les autres et
> doivent se connaître entre elles. Avec un seul formulaire ou un nombre
très
> restreint, cela simplifie énormément la gestion car le nombre de
> configurations de visibilité des différents éléments est limité.
>
> Vous dites qu'il est fastidieux d'avoir à gérer un nombre important de
panel
> par formulaire, mais pensez que pour l'utilisateur, il est fastidieux
> d'avoir une pléthores de formulaires ouverts en même temps ou qui
s'ouvrent
> et se ferme de manière intempestive; entraînant un rallye avec la souris
> la poursuite du nouveau formulaire décalé à l'écran du précédent, ou
encore
> un safari pour s'avoir derrière quelle satané fenêtre c'est planqué le
> nouveau formulaire.
>
> Les Panels et les UserControls permettent de gérer les interfaces qui à
> moment T, sont simple.
>
> Si, à un moment de l'exécution de votre programme, vous vous retrouvez
avec
> une interface qui ne se résumerait pas à un formulaire, les boutons
> et "Next" ne seront sûrement pas adaptés et le problème ne sera pas le
> chaînage des formulaire mais leur interactions qui repose sur une
conception
> soignée.
>
> Pouvez vous caractériser votre problème car avoir des centaines d'écrans
> n'est aucunement antinomique de l'utilisation de panel dans un
> avec des UserControls différents pour chaque écran. Chaque UserControl
> pouvant maîtriser ses propres données si nécessaires ou les partagé avec
d'
> autre mais alors sous la tutelle du formulaire principale.
> --
> Paul Bacelar
>
>
> "CooL6a" wrote in message
> news:
> > Quand on a un projet avec une centaines d'interfaces alors ça devient
> > fastidieux de les gérer toutes dans un même formulaire avec des
> > peut-être je n'étais pas clair avant car je voulais simplifier ma
> question,
> > mais croyez moi j'ai besoin de gérer la navigation entre plusieurs
> > fenêtres...
> >
> > "Paul Bacelar" a écrit dans le
message
> > de news:OneBzW$
> > > J'ai du mal à voir pourquoi votre cas d'utilisation ne colle pas
> > > l'approche par panel.
> > >
> > > Si vous voulez des Forms qui d'affichent en file indienne avec un
back,
> > > pourquoi ne pas utiliser un ShowDialog sur les formulaires avec un
> > > DialogResult câblé sur le bouton Back?
> > > --
> > > Paul Bacelar
> > >
> > >
> > > "CooL6a" wrote in message
> > > news:
> > > > Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai
> plusieurs
> > > > fenêtres dont la première par exemple est celle de la connexion,
je
> > > veux
> > > > au moins donner la possibilité à l'utilisateur de revenir en
> > pour
> > > > visualiser ou changer ces choix, ce que tu m'a proposé je le fait
dans
> > ces
> > > > fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou
cachés
> > > selon
> > > > le contexte.
> > > >
> > > >
> > > > "Paul Bacelar" a écrit dans le
> > message
> > > > de news:uC$
> > > > > "CooL6a" wrote in message
> > > > > news:
> > > > > > Bonjour,
> > > > > > je veux avoir la possibilité de naviguer entre 3 fenêtres,
chacune
> > > > > contient
> > > > > > deux boutons Next et Back, j'ai écris ce code:
> > > > > >
> > > > > > namespace Wisard
> > > > > > {
> > > > > > class FormWisard : System.Windows.Forms.Form
> > > > > > {
> > > > > >
> > > > > >
> > > > > > public FormWisard(String Title)
> > > > > > {
> > > > > > this.Text = Title;
> > > > > > }
> > > > > >
> > > > > > private System.Windows.Forms.Form _next;
> > > > > > //Fenetre suivante
> > > > > > private System.Windows.Forms.Button buttonNext;
> > > > > > private System.Windows.Forms.Button buttonBack;
> > > > > > private System.Windows.Forms.Form _back;
> > > > > > //Fenêtre prec
> > > > > >
> > > > > > //Initialisation des prop des composants buttonNext,
et
> > de
> > > la
> > > > > > fenetre FormWisard
> > > > > > ......
> > > > > >
> > > > > > // les proprietes Next et Back
> > > > > > public System.Windows.Forms.Form Next
> > > > > > {
> > > > > > get
> > > > > > {
> > > > > > return _next;
> > > > > > }
> > > > > > set
> > > > > > {
> > > > > > _next=value;
> > > > > > }
> > > > > > }
> > > > > > public System.Windows.Forms.Form Back
> > > > > > {
> > > > > > get
> > > > > > {
> > > > > > return _back;
> > > > > > }
> > > > > > set
> > > > > > {
> > > > > > _back=value;
> > > > > > }
> > > > > > }
> > > > > > }
> > > > > >
> > > > > > private void buttonNext_Click(object sender, System.EventArgs
> > > > > > {
> > > > > > this.Hide();
> > > > > > this.Next.Show();
> > > > > > }
> > > > > >
> > > > > > private void buttonBack_Click(object sender, System.EventArgs
> > > > > > {
> > > > > > this.Hide();
> > > > > > this.Back.Show();
> > > > > > }
> > > > > >
> > > > > >
> > > > > >
> > > > > > public class MainForm : System.Windows.Forms.Form
> > > > > > {
> > > > > > private FormWisard form1=new FormWisard("Form 1");
> > > > > > private FormWisard form2=new FormWisard("Form 2");
> > > > > > private FormWisard form3=new FormWisard("Form 3");
> > > > > >
> > > > > > public MainForm()
> > > > > > {
> > > > > > form1.Back=null;
> > > > > > form1.Next=form2;
> > > > > >
> > > > > > form2.Back=form1;
> > > > > > form2.Next=form3;
> > > > > >
> > > > > > form3.Back=form2;
> > > > > > form3.Next=null;
> > > > > >
> > > > > > }
> > > > > >
> > > > > > private void MainForm_Load(object sender, System.EventArgs
> > > > > > {
> > > > > > form1.Show();
> > > > > > }
> > > > > >
> > > > > > [STAThread]
> > > > > > static void Main()
> > > > > > {
> > > > > > Application.Run(new MainForm());
> > > > > > }
> > > > > > }
> > > > > > }
> > > > > >
> > > > > > ça affiche qu'une fenetre vide.
> > > > > >
> > > > > > et si je met ça :
> > > > > > Application.Run(form1); // car je veux démarer l'application
> avec
> > la
> > > > > > fenetre form1
> > > > > > il y a l'erreur : Une référence d'objet est requise pour le
champ
> > non
> > > > > > statique "Wizard.MainForm.form1"
> > > > > > Comment faire SVP????? y a une autre methode?
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > > Un Wizard est une fenêtre qui affiche différents contrôles selon
un
> > > chemin
> > > > > précis.
> > > > >
> > > > > La méthode la plus simple pour implémenter un wirard est de
n'avoir
> > > qu'un
> > > > > formulaire qui contient plusieurs contrôles Panel, contenant
chacun
> un
> > > > écran
> > > > > différent, que vous cachez et affichez à tour de rôle.
> > > > >
> > > > > Vous n'avez pas de communication inter formulaire, pas de
> > > > éparpillée
> > > > > du chaînage des étapes, une centralisation des données
> pas
> > > de
> > > > > gestion des formulaires planqués sous d'autres, etc. . En un mot
> un
> > > code
> > > > > beaucoup plus simple.
> > > > >
> > > > > Un exemple de gestionnaire de bouton Next
> > > > >
> > > > >
> > > > >
> > > > > Next_Clicked(.){
> > > > >
> > > > > if(m_courantPanel<m_Panels.Count){
> > > > >
> > > > > m_Panels[courantPanel].Visible = false;
> > > > >
> > > > > m_Panels[courantPanel].Visible = true;
> > > > >
> > > > > CollecteInformation(courantPanel);
> > > > >
> > > > > courantPanel++;
> > > > >
> > > > > }
> > > > >
> > > > > }
> > > > >
> > > > >
> > > > > --
> > > > > Paul Bacelar
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Bien, supposant que ce que vous dites colle avec mon appli, maintenant
(juste par curiosité) comment faire pour naviguer entre 3 fenêtres, avec
show et hide?
"Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le message
de news:%2304txiLBFHA.1264@TK2MSFTNGP12.phx.gbl...
> Quand on a une centaine d'interfaces, il est encore plus fastidieux de
gérer
> des fenêtres indépendantes qui peuvent se cacher les une les autres et
> doivent se connaître entre elles. Avec un seul formulaire ou un nombre
très
> restreint, cela simplifie énormément la gestion car le nombre de
> configurations de visibilité des différents éléments est limité.
>
> Vous dites qu'il est fastidieux d'avoir à gérer un nombre important de
panel
> par formulaire, mais pensez que pour l'utilisateur, il est fastidieux
> d'avoir une pléthores de formulaires ouverts en même temps ou qui
s'ouvrent
> et se ferme de manière intempestive; entraînant un rallye avec la souris
> la poursuite du nouveau formulaire décalé à l'écran du précédent, ou
encore
> un safari pour s'avoir derrière quelle satané fenêtre c'est planqué le
> nouveau formulaire.
>
> Les Panels et les UserControls permettent de gérer les interfaces qui à
> moment T, sont simple.
>
> Si, à un moment de l'exécution de votre programme, vous vous retrouvez
avec
> une interface qui ne se résumerait pas à un formulaire, les boutons
> et "Next" ne seront sûrement pas adaptés et le problème ne sera pas le
> chaînage des formulaire mais leur interactions qui repose sur une
conception
> soignée.
>
> Pouvez vous caractériser votre problème car avoir des centaines d'écrans
> n'est aucunement antinomique de l'utilisation de panel dans un
> avec des UserControls différents pour chaque écran. Chaque UserControl
> pouvant maîtriser ses propres données si nécessaires ou les partagé avec
d'
> autre mais alors sous la tutelle du formulaire principale.
> --
> Paul Bacelar
>
>
> "CooL6a" <CooL6a@yayoo.fr> wrote in message
> news:e1D7rHFBFHA.3592@TK2MSFTNGP09.phx.gbl...
> > Quand on a un projet avec une centaines d'interfaces alors ça devient
> > fastidieux de les gérer toutes dans un même formulaire avec des
> > peut-être je n'étais pas clair avant car je voulais simplifier ma
> question,
> > mais croyez moi j'ai besoin de gérer la navigation entre plusieurs
> > fenêtres...
> >
> > "Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le
message
> > de news:OneBzW$AFHA.824@TK2MSFTNGP11.phx.gbl...
> > > J'ai du mal à voir pourquoi votre cas d'utilisation ne colle pas
> > > l'approche par panel.
> > >
> > > Si vous voulez des Forms qui d'affichent en file indienne avec un
back,
> > > pourquoi ne pas utiliser un ShowDialog sur les formulaires avec un
> > > DialogResult câblé sur le bouton Back?
> > > --
> > > Paul Bacelar
> > >
> > >
> > > "CooL6a" <CooL6a@yayoo.fr> wrote in message
> > > news:uob79o4AFHA.2640@TK2MSFTNGP14.phx.gbl...
> > > > Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai
> plusieurs
> > > > fenêtres dont la première par exemple est celle de la connexion,
je
> > > veux
> > > > au moins donner la possibilité à l'utilisateur de revenir en
> > pour
> > > > visualiser ou changer ces choix, ce que tu m'a proposé je le fait
dans
> > ces
> > > > fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou
cachés
> > > selon
> > > > le contexte.
> > > >
> > > >
> > > > "Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le
> > message
> > > > de news:uC$BytyAFHA.3336@TK2MSFTNGP11.phx.gbl...
> > > > > "CooL6a" <CooL6a@yayoo.fr> wrote in message
> > > > > news:uvvfcxvAFHA.1408@TK2MSFTNGP10.phx.gbl...
> > > > > > Bonjour,
> > > > > > je veux avoir la possibilité de naviguer entre 3 fenêtres,
chacune
> > > > > contient
> > > > > > deux boutons Next et Back, j'ai écris ce code:
> > > > > >
> > > > > > namespace Wisard
> > > > > > {
> > > > > > class FormWisard : System.Windows.Forms.Form
> > > > > > {
> > > > > >
> > > > > >
> > > > > > public FormWisard(String Title)
> > > > > > {
> > > > > > this.Text = Title;
> > > > > > }
> > > > > >
> > > > > > private System.Windows.Forms.Form _next;
> > > > > > //Fenetre suivante
> > > > > > private System.Windows.Forms.Button buttonNext;
> > > > > > private System.Windows.Forms.Button buttonBack;
> > > > > > private System.Windows.Forms.Form _back;
> > > > > > //Fenêtre prec
> > > > > >
> > > > > > //Initialisation des prop des composants buttonNext,
et
> > de
> > > la
> > > > > > fenetre FormWisard
> > > > > > ......
> > > > > >
> > > > > > // les proprietes Next et Back
> > > > > > public System.Windows.Forms.Form Next
> > > > > > {
> > > > > > get
> > > > > > {
> > > > > > return _next;
> > > > > > }
> > > > > > set
> > > > > > {
> > > > > > _next=value;
> > > > > > }
> > > > > > }
> > > > > > public System.Windows.Forms.Form Back
> > > > > > {
> > > > > > get
> > > > > > {
> > > > > > return _back;
> > > > > > }
> > > > > > set
> > > > > > {
> > > > > > _back=value;
> > > > > > }
> > > > > > }
> > > > > > }
> > > > > >
> > > > > > private void buttonNext_Click(object sender, System.EventArgs
> > > > > > {
> > > > > > this.Hide();
> > > > > > this.Next.Show();
> > > > > > }
> > > > > >
> > > > > > private void buttonBack_Click(object sender, System.EventArgs
> > > > > > {
> > > > > > this.Hide();
> > > > > > this.Back.Show();
> > > > > > }
> > > > > >
> > > > > >
> > > > > >
> > > > > > public class MainForm : System.Windows.Forms.Form
> > > > > > {
> > > > > > private FormWisard form1=new FormWisard("Form 1");
> > > > > > private FormWisard form2=new FormWisard("Form 2");
> > > > > > private FormWisard form3=new FormWisard("Form 3");
> > > > > >
> > > > > > public MainForm()
> > > > > > {
> > > > > > form1.Back=null;
> > > > > > form1.Next=form2;
> > > > > >
> > > > > > form2.Back=form1;
> > > > > > form2.Next=form3;
> > > > > >
> > > > > > form3.Back=form2;
> > > > > > form3.Next=null;
> > > > > >
> > > > > > }
> > > > > >
> > > > > > private void MainForm_Load(object sender, System.EventArgs
> > > > > > {
> > > > > > form1.Show();
> > > > > > }
> > > > > >
> > > > > > [STAThread]
> > > > > > static void Main()
> > > > > > {
> > > > > > Application.Run(new MainForm());
> > > > > > }
> > > > > > }
> > > > > > }
> > > > > >
> > > > > > ça affiche qu'une fenetre vide.
> > > > > >
> > > > > > et si je met ça :
> > > > > > Application.Run(form1); // car je veux démarer l'application
> avec
> > la
> > > > > > fenetre form1
> > > > > > il y a l'erreur : Une référence d'objet est requise pour le
champ
> > non
> > > > > > statique "Wizard.MainForm.form1"
> > > > > > Comment faire SVP????? y a une autre methode?
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > > Un Wizard est une fenêtre qui affiche différents contrôles selon
un
> > > chemin
> > > > > précis.
> > > > >
> > > > > La méthode la plus simple pour implémenter un wirard est de
n'avoir
> > > qu'un
> > > > > formulaire qui contient plusieurs contrôles Panel, contenant
chacun
> un
> > > > écran
> > > > > différent, que vous cachez et affichez à tour de rôle.
> > > > >
> > > > > Vous n'avez pas de communication inter formulaire, pas de
> > > > éparpillée
> > > > > du chaînage des étapes, une centralisation des données
> pas
> > > de
> > > > > gestion des formulaires planqués sous d'autres, etc. . En un mot
> un
> > > code
> > > > > beaucoup plus simple.
> > > > >
> > > > > Un exemple de gestionnaire de bouton Next
> > > > >
> > > > >
> > > > >
> > > > > Next_Clicked(.){
> > > > >
> > > > > if(m_courantPanel<m_Panels.Count){
> > > > >
> > > > > m_Panels[courantPanel].Visible = false;
> > > > >
> > > > > m_Panels[courantPanel].Visible = true;
> > > > >
> > > > > CollecteInformation(courantPanel);
> > > > >
> > > > > courantPanel++;
> > > > >
> > > > > }
> > > > >
> > > > > }
> > > > >
> > > > >
> > > > > --
> > > > > Paul Bacelar
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Bien, supposant que ce que vous dites colle avec mon appli, maintenant
(juste par curiosité) comment faire pour naviguer entre 3 fenêtres, avec
show et hide?
"Paul Bacelar" a écrit dans le message
de news:%
> Quand on a une centaine d'interfaces, il est encore plus fastidieux de
gérer
> des fenêtres indépendantes qui peuvent se cacher les une les autres et
> doivent se connaître entre elles. Avec un seul formulaire ou un nombre
très
> restreint, cela simplifie énormément la gestion car le nombre de
> configurations de visibilité des différents éléments est limité.
>
> Vous dites qu'il est fastidieux d'avoir à gérer un nombre important de
panel
> par formulaire, mais pensez que pour l'utilisateur, il est fastidieux
> d'avoir une pléthores de formulaires ouverts en même temps ou qui
s'ouvrent
> et se ferme de manière intempestive; entraînant un rallye avec la souris
> la poursuite du nouveau formulaire décalé à l'écran du précédent, ou
encore
> un safari pour s'avoir derrière quelle satané fenêtre c'est planqué le
> nouveau formulaire.
>
> Les Panels et les UserControls permettent de gérer les interfaces qui à
> moment T, sont simple.
>
> Si, à un moment de l'exécution de votre programme, vous vous retrouvez
avec
> une interface qui ne se résumerait pas à un formulaire, les boutons
> et "Next" ne seront sûrement pas adaptés et le problème ne sera pas le
> chaînage des formulaire mais leur interactions qui repose sur une
conception
> soignée.
>
> Pouvez vous caractériser votre problème car avoir des centaines d'écrans
> n'est aucunement antinomique de l'utilisation de panel dans un
> avec des UserControls différents pour chaque écran. Chaque UserControl
> pouvant maîtriser ses propres données si nécessaires ou les partagé avec
d'
> autre mais alors sous la tutelle du formulaire principale.
> --
> Paul Bacelar
>
>
> "CooL6a" wrote in message
> news:
> > Quand on a un projet avec une centaines d'interfaces alors ça devient
> > fastidieux de les gérer toutes dans un même formulaire avec des
> > peut-être je n'étais pas clair avant car je voulais simplifier ma
> question,
> > mais croyez moi j'ai besoin de gérer la navigation entre plusieurs
> > fenêtres...
> >
> > "Paul Bacelar" a écrit dans le
message
> > de news:OneBzW$
> > > J'ai du mal à voir pourquoi votre cas d'utilisation ne colle pas
> > > l'approche par panel.
> > >
> > > Si vous voulez des Forms qui d'affichent en file indienne avec un
back,
> > > pourquoi ne pas utiliser un ShowDialog sur les formulaires avec un
> > > DialogResult câblé sur le bouton Back?
> > > --
> > > Paul Bacelar
> > >
> > >
> > > "CooL6a" wrote in message
> > > news:
> > > > Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai
> plusieurs
> > > > fenêtres dont la première par exemple est celle de la connexion,
je
> > > veux
> > > > au moins donner la possibilité à l'utilisateur de revenir en
> > pour
> > > > visualiser ou changer ces choix, ce que tu m'a proposé je le fait
dans
> > ces
> > > > fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou
cachés
> > > selon
> > > > le contexte.
> > > >
> > > >
> > > > "Paul Bacelar" a écrit dans le
> > message
> > > > de news:uC$
> > > > > "CooL6a" wrote in message
> > > > > news:
> > > > > > Bonjour,
> > > > > > je veux avoir la possibilité de naviguer entre 3 fenêtres,
chacune
> > > > > contient
> > > > > > deux boutons Next et Back, j'ai écris ce code:
> > > > > >
> > > > > > namespace Wisard
> > > > > > {
> > > > > > class FormWisard : System.Windows.Forms.Form
> > > > > > {
> > > > > >
> > > > > >
> > > > > > public FormWisard(String Title)
> > > > > > {
> > > > > > this.Text = Title;
> > > > > > }
> > > > > >
> > > > > > private System.Windows.Forms.Form _next;
> > > > > > //Fenetre suivante
> > > > > > private System.Windows.Forms.Button buttonNext;
> > > > > > private System.Windows.Forms.Button buttonBack;
> > > > > > private System.Windows.Forms.Form _back;
> > > > > > //Fenêtre prec
> > > > > >
> > > > > > //Initialisation des prop des composants buttonNext,
et
> > de
> > > la
> > > > > > fenetre FormWisard
> > > > > > ......
> > > > > >
> > > > > > // les proprietes Next et Back
> > > > > > public System.Windows.Forms.Form Next
> > > > > > {
> > > > > > get
> > > > > > {
> > > > > > return _next;
> > > > > > }
> > > > > > set
> > > > > > {
> > > > > > _next=value;
> > > > > > }
> > > > > > }
> > > > > > public System.Windows.Forms.Form Back
> > > > > > {
> > > > > > get
> > > > > > {
> > > > > > return _back;
> > > > > > }
> > > > > > set
> > > > > > {
> > > > > > _back=value;
> > > > > > }
> > > > > > }
> > > > > > }
> > > > > >
> > > > > > private void buttonNext_Click(object sender, System.EventArgs
> > > > > > {
> > > > > > this.Hide();
> > > > > > this.Next.Show();
> > > > > > }
> > > > > >
> > > > > > private void buttonBack_Click(object sender, System.EventArgs
> > > > > > {
> > > > > > this.Hide();
> > > > > > this.Back.Show();
> > > > > > }
> > > > > >
> > > > > >
> > > > > >
> > > > > > public class MainForm : System.Windows.Forms.Form
> > > > > > {
> > > > > > private FormWisard form1=new FormWisard("Form 1");
> > > > > > private FormWisard form2=new FormWisard("Form 2");
> > > > > > private FormWisard form3=new FormWisard("Form 3");
> > > > > >
> > > > > > public MainForm()
> > > > > > {
> > > > > > form1.Back=null;
> > > > > > form1.Next=form2;
> > > > > >
> > > > > > form2.Back=form1;
> > > > > > form2.Next=form3;
> > > > > >
> > > > > > form3.Back=form2;
> > > > > > form3.Next=null;
> > > > > >
> > > > > > }
> > > > > >
> > > > > > private void MainForm_Load(object sender, System.EventArgs
> > > > > > {
> > > > > > form1.Show();
> > > > > > }
> > > > > >
> > > > > > [STAThread]
> > > > > > static void Main()
> > > > > > {
> > > > > > Application.Run(new MainForm());
> > > > > > }
> > > > > > }
> > > > > > }
> > > > > >
> > > > > > ça affiche qu'une fenetre vide.
> > > > > >
> > > > > > et si je met ça :
> > > > > > Application.Run(form1); // car je veux démarer l'application
> avec
> > la
> > > > > > fenetre form1
> > > > > > il y a l'erreur : Une référence d'objet est requise pour le
champ
> > non
> > > > > > statique "Wizard.MainForm.form1"
> > > > > > Comment faire SVP????? y a une autre methode?
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > > Un Wizard est une fenêtre qui affiche différents contrôles selon
un
> > > chemin
> > > > > précis.
> > > > >
> > > > > La méthode la plus simple pour implémenter un wirard est de
n'avoir
> > > qu'un
> > > > > formulaire qui contient plusieurs contrôles Panel, contenant
chacun
> un
> > > > écran
> > > > > différent, que vous cachez et affichez à tour de rôle.
> > > > >
> > > > > Vous n'avez pas de communication inter formulaire, pas de
> > > > éparpillée
> > > > > du chaînage des étapes, une centralisation des données
> pas
> > > de
> > > > > gestion des formulaires planqués sous d'autres, etc. . En un mot
> un
> > > code
> > > > > beaucoup plus simple.
> > > > >
> > > > > Un exemple de gestionnaire de bouton Next
> > > > >
> > > > >
> > > > >
> > > > > Next_Clicked(.){
> > > > >
> > > > > if(m_courantPanel<m_Panels.Count){
> > > > >
> > > > > m_Panels[courantPanel].Visible = false;
> > > > >
> > > > > m_Panels[courantPanel].Visible = true;
> > > > >
> > > > > CollecteInformation(courantPanel);
> > > > >
> > > > > courantPanel++;
> > > > >
> > > > > }
> > > > >
> > > > > }
> > > > >
> > > > >
> > > > > --
> > > > > Paul Bacelar
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Avec 3 Panel dans un formulaire avec chacun un UserControl.
Vous rendez visible un de ces trois panel en fonction des clicks sur les
boutons du formulaire.
Aucun problème particulier, pas de cache de fenêtre, un découpage strict
entre la présentation des données dans les UserControl et les règles
business qui seront appelé par les boutons du formulaire, centralisation
processus de choix des IHM visible etc...
--
Paul Bacelar
"CooL6a" wrote in message
news:
> Bien, supposant que ce que vous dites colle avec mon appli, maintenant
> (juste par curiosité) comment faire pour naviguer entre 3 fenêtres, avec
des
> show et hide?
> "Paul Bacelar" a écrit dans le
> de news:%
> > Quand on a une centaine d'interfaces, il est encore plus fastidieux de
> gérer
> > des fenêtres indépendantes qui peuvent se cacher les une les autres et
qui
> > doivent se connaître entre elles. Avec un seul formulaire ou un nombre
> très
> > restreint, cela simplifie énormément la gestion car le nombre de
> > configurations de visibilité des différents éléments est limité.
> >
> > Vous dites qu'il est fastidieux d'avoir à gérer un nombre important de
> panel
> > par formulaire, mais pensez que pour l'utilisateur, il est fastidieux
> > d'avoir une pléthores de formulaires ouverts en même temps ou qui
> s'ouvrent
> > et se ferme de manière intempestive; entraînant un rallye avec la
à
> > la poursuite du nouveau formulaire décalé à l'écran du précédent, ou
> encore
> > un safari pour s'avoir derrière quelle satané fenêtre c'est planqué le
> > nouveau formulaire.
> >
> > Les Panels et les UserControls permettent de gérer les interfaces qui
un
> > moment T, sont simple.
> >
> > Si, à un moment de l'exécution de votre programme, vous vous retrouvez
> avec
> > une interface qui ne se résumerait pas à un formulaire, les boutons
"Prev"
> > et "Next" ne seront sûrement pas adaptés et le problème ne sera pas le
> > chaînage des formulaire mais leur interactions qui repose sur une
> conception
> > soignée.
> >
> > Pouvez vous caractériser votre problème car avoir des centaines
> > n'est aucunement antinomique de l'utilisation de panel dans un
formulaire
> > avec des UserControls différents pour chaque écran. Chaque UserControl
> > pouvant maîtriser ses propres données si nécessaires ou les partagé
> d'
> > autre mais alors sous la tutelle du formulaire principale.
> > --
> > Paul Bacelar
> >
> >
> > "CooL6a" wrote in message
> > news:
> > > Quand on a un projet avec une centaines d'interfaces alors ça
> > > fastidieux de les gérer toutes dans un même formulaire avec des
panels,
> > > peut-être je n'étais pas clair avant car je voulais simplifier ma
> > question,
> > > mais croyez moi j'ai besoin de gérer la navigation entre plusieurs
> > > fenêtres...
> > >
> > > "Paul Bacelar" a écrit dans le
> message
> > > de news:OneBzW$
> > > > J'ai du mal à voir pourquoi votre cas d'utilisation ne colle pas
avec
> > > > l'approche par panel.
> > > >
> > > > Si vous voulez des Forms qui d'affichent en file indienne avec un
> back,
> > > > pourquoi ne pas utiliser un ShowDialog sur les formulaires avec un
> > > > DialogResult câblé sur le bouton Back?
> > > > --
> > > > Paul Bacelar
> > > >
> > > >
> > > > "CooL6a" wrote in message
> > > > news:
> > > > > Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai
> > plusieurs
> > > > > fenêtres dont la première par exemple est celle de la connexion,
et
> je
> > > > veux
> > > > > au moins donner la possibilité à l'utilisateur de revenir en
arrière
> > > pour
> > > > > visualiser ou changer ces choix, ce que tu m'a proposé je le
> dans
> > > ces
> > > > > fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou
> cachés
> > > > selon
> > > > > le contexte.
> > > > >
> > > > >
> > > > > "Paul Bacelar" a écrit dans
> > > message
> > > > > de news:uC$
> > > > > > "CooL6a" wrote in message
> > > > > > news:
> > > > > > > Bonjour,
> > > > > > > je veux avoir la possibilité de naviguer entre 3 fenêtres,
> chacune
> > > > > > contient
> > > > > > > deux boutons Next et Back, j'ai écris ce code:
> > > > > > >
> > > > > > > namespace Wisard
> > > > > > > {
> > > > > > > class FormWisard : System.Windows.Forms.Form
> > > > > > > {
> > > > > > >
> > > > > > >
> > > > > > > public FormWisard(String Title)
> > > > > > > {
> > > > > > > this.Text = Title;
> > > > > > > }
> > > > > > >
> > > > > > > private System.Windows.Forms.Form _next;
> > > > > > > //Fenetre suivante
> > > > > > > private System.Windows.Forms.Button buttonNext;
> > > > > > > private System.Windows.Forms.Button buttonBack;
> > > > > > > private System.Windows.Forms.Form _back;
> > > > > > > //Fenêtre prec
> > > > > > >
> > > > > > > //Initialisation des prop des composants buttonNext,
buttonBack
> et
> > > de
> > > > la
> > > > > > > fenetre FormWisard
> > > > > > > ......
> > > > > > >
> > > > > > > // les proprietes Next et Back
> > > > > > > public System.Windows.Forms.Form Next
> > > > > > > {
> > > > > > > get
> > > > > > > {
> > > > > > > return _next;
> > > > > > > }
> > > > > > > set
> > > > > > > {
> > > > > > > _next=value;
> > > > > > > }
> > > > > > > }
> > > > > > > public System.Windows.Forms.Form Back
> > > > > > > {
> > > > > > > get
> > > > > > > {
> > > > > > > return _back;
> > > > > > > }
> > > > > > > set
> > > > > > > {
> > > > > > > _back=value;
> > > > > > > }
> > > > > > > }
> > > > > > > }
> > > > > > >
> > > > > > > private void buttonNext_Click(object sender,
e)
> > > > > > > {
> > > > > > > this.Hide();
> > > > > > > this.Next.Show();
> > > > > > > }
> > > > > > >
> > > > > > > private void buttonBack_Click(object sender,
e)
> > > > > > > {
> > > > > > > this.Hide();
> > > > > > > this.Back.Show();
> > > > > > > }
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > public class MainForm : System.Windows.Forms.Form
> > > > > > > {
> > > > > > > private FormWisard form1=new FormWisard("Form 1");
> > > > > > > private FormWisard form2=new FormWisard("Form 2");
> > > > > > > private FormWisard form3=new FormWisard("Form 3");
> > > > > > >
> > > > > > > public MainForm()
> > > > > > > {
> > > > > > > form1.Back=null;
> > > > > > > form1.Next=form2;
> > > > > > >
> > > > > > > form2.Back=form1;
> > > > > > > form2.Next=form3;
> > > > > > >
> > > > > > > form3.Back=form2;
> > > > > > > form3.Next=null;
> > > > > > >
> > > > > > > }
> > > > > > >
> > > > > > > private void MainForm_Load(object sender, System.EventArgs
e)
> > > > > > > {
> > > > > > > form1.Show();
> > > > > > > }
> > > > > > >
> > > > > > > [STAThread]
> > > > > > > static void Main()
> > > > > > > {
> > > > > > > Application.Run(new MainForm());
> > > > > > > }
> > > > > > > }
> > > > > > > }
> > > > > > >
> > > > > > > ça affiche qu'une fenetre vide.
> > > > > > >
> > > > > > > et si je met ça :
> > > > > > > Application.Run(form1); // car je veux démarer
> > avec
> > > la
> > > > > > > fenetre form1
> > > > > > > il y a l'erreur : Une référence d'objet est requise pour le
> champ
> > > non
> > > > > > > statique "Wizard.MainForm.form1"
> > > > > > > Comment faire SVP????? y a une autre methode?
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > > Un Wizard est une fenêtre qui affiche différents contrôles
> un
> > > > chemin
> > > > > > précis.
> > > > > >
> > > > > > La méthode la plus simple pour implémenter un wirard est de
> n'avoir
> > > > qu'un
> > > > > > formulaire qui contient plusieurs contrôles Panel, contenant
> chacun
> > un
> > > > > écran
> > > > > > différent, que vous cachez et affichez à tour de rôle.
> > > > > >
> > > > > > Vous n'avez pas de communication inter formulaire, pas de
gestion
> > > > > éparpillée
> > > > > > du chaînage des étapes, une centralisation des données
collectées,
> > pas
> > > > de
> > > > > > gestion des formulaires planqués sous d'autres, etc. . En un
:
> > un
> > > > code
> > > > > > beaucoup plus simple.
> > > > > >
> > > > > > Un exemple de gestionnaire de bouton Next
> > > > > >
> > > > > >
> > > > > >
> > > > > > Next_Clicked(.){
> > > > > >
> > > > > > if(m_courantPanel<m_Panels.Count){
> > > > > >
> > > > > > m_Panels[courantPanel].Visible false;
> > > > > >
> > > > > > m_Panels[courantPanel].Visible = true;
> > > > > >
> > > > > > CollecteInformation(courantPanel);
> > > > > >
> > > > > > courantPanel++;
> > > > > >
> > > > > > }
> > > > > >
> > > > > > }
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Paul Bacelar
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Avec 3 Panel dans un formulaire avec chacun un UserControl.
Vous rendez visible un de ces trois panel en fonction des clicks sur les
boutons du formulaire.
Aucun problème particulier, pas de cache de fenêtre, un découpage strict
entre la présentation des données dans les UserControl et les règles
business qui seront appelé par les boutons du formulaire, centralisation
processus de choix des IHM visible etc...
--
Paul Bacelar
"CooL6a" <CooL6a@yayoo.fr> wrote in message
news:ugmelrVBFHA.3592@TK2MSFTNGP11.phx.gbl...
> Bien, supposant que ce que vous dites colle avec mon appli, maintenant
> (juste par curiosité) comment faire pour naviguer entre 3 fenêtres, avec
des
> show et hide?
> "Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le
> de news:%2304txiLBFHA.1264@TK2MSFTNGP12.phx.gbl...
> > Quand on a une centaine d'interfaces, il est encore plus fastidieux de
> gérer
> > des fenêtres indépendantes qui peuvent se cacher les une les autres et
qui
> > doivent se connaître entre elles. Avec un seul formulaire ou un nombre
> très
> > restreint, cela simplifie énormément la gestion car le nombre de
> > configurations de visibilité des différents éléments est limité.
> >
> > Vous dites qu'il est fastidieux d'avoir à gérer un nombre important de
> panel
> > par formulaire, mais pensez que pour l'utilisateur, il est fastidieux
> > d'avoir une pléthores de formulaires ouverts en même temps ou qui
> s'ouvrent
> > et se ferme de manière intempestive; entraînant un rallye avec la
à
> > la poursuite du nouveau formulaire décalé à l'écran du précédent, ou
> encore
> > un safari pour s'avoir derrière quelle satané fenêtre c'est planqué le
> > nouveau formulaire.
> >
> > Les Panels et les UserControls permettent de gérer les interfaces qui
un
> > moment T, sont simple.
> >
> > Si, à un moment de l'exécution de votre programme, vous vous retrouvez
> avec
> > une interface qui ne se résumerait pas à un formulaire, les boutons
"Prev"
> > et "Next" ne seront sûrement pas adaptés et le problème ne sera pas le
> > chaînage des formulaire mais leur interactions qui repose sur une
> conception
> > soignée.
> >
> > Pouvez vous caractériser votre problème car avoir des centaines
> > n'est aucunement antinomique de l'utilisation de panel dans un
formulaire
> > avec des UserControls différents pour chaque écran. Chaque UserControl
> > pouvant maîtriser ses propres données si nécessaires ou les partagé
> d'
> > autre mais alors sous la tutelle du formulaire principale.
> > --
> > Paul Bacelar
> >
> >
> > "CooL6a" <CooL6a@yayoo.fr> wrote in message
> > news:e1D7rHFBFHA.3592@TK2MSFTNGP09.phx.gbl...
> > > Quand on a un projet avec une centaines d'interfaces alors ça
> > > fastidieux de les gérer toutes dans un même formulaire avec des
panels,
> > > peut-être je n'étais pas clair avant car je voulais simplifier ma
> > question,
> > > mais croyez moi j'ai besoin de gérer la navigation entre plusieurs
> > > fenêtres...
> > >
> > > "Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le
> message
> > > de news:OneBzW$AFHA.824@TK2MSFTNGP11.phx.gbl...
> > > > J'ai du mal à voir pourquoi votre cas d'utilisation ne colle pas
avec
> > > > l'approche par panel.
> > > >
> > > > Si vous voulez des Forms qui d'affichent en file indienne avec un
> back,
> > > > pourquoi ne pas utiliser un ShowDialog sur les formulaires avec un
> > > > DialogResult câblé sur le bouton Back?
> > > > --
> > > > Paul Bacelar
> > > >
> > > >
> > > > "CooL6a" <CooL6a@yayoo.fr> wrote in message
> > > > news:uob79o4AFHA.2640@TK2MSFTNGP14.phx.gbl...
> > > > > Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai
> > plusieurs
> > > > > fenêtres dont la première par exemple est celle de la connexion,
et
> je
> > > > veux
> > > > > au moins donner la possibilité à l'utilisateur de revenir en
arrière
> > > pour
> > > > > visualiser ou changer ces choix, ce que tu m'a proposé je le
> dans
> > > ces
> > > > > fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou
> cachés
> > > > selon
> > > > > le contexte.
> > > > >
> > > > >
> > > > > "Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans
> > > message
> > > > > de news:uC$BytyAFHA.3336@TK2MSFTNGP11.phx.gbl...
> > > > > > "CooL6a" <CooL6a@yayoo.fr> wrote in message
> > > > > > news:uvvfcxvAFHA.1408@TK2MSFTNGP10.phx.gbl...
> > > > > > > Bonjour,
> > > > > > > je veux avoir la possibilité de naviguer entre 3 fenêtres,
> chacune
> > > > > > contient
> > > > > > > deux boutons Next et Back, j'ai écris ce code:
> > > > > > >
> > > > > > > namespace Wisard
> > > > > > > {
> > > > > > > class FormWisard : System.Windows.Forms.Form
> > > > > > > {
> > > > > > >
> > > > > > >
> > > > > > > public FormWisard(String Title)
> > > > > > > {
> > > > > > > this.Text = Title;
> > > > > > > }
> > > > > > >
> > > > > > > private System.Windows.Forms.Form _next;
> > > > > > > //Fenetre suivante
> > > > > > > private System.Windows.Forms.Button buttonNext;
> > > > > > > private System.Windows.Forms.Button buttonBack;
> > > > > > > private System.Windows.Forms.Form _back;
> > > > > > > //Fenêtre prec
> > > > > > >
> > > > > > > //Initialisation des prop des composants buttonNext,
buttonBack
> et
> > > de
> > > > la
> > > > > > > fenetre FormWisard
> > > > > > > ......
> > > > > > >
> > > > > > > // les proprietes Next et Back
> > > > > > > public System.Windows.Forms.Form Next
> > > > > > > {
> > > > > > > get
> > > > > > > {
> > > > > > > return _next;
> > > > > > > }
> > > > > > > set
> > > > > > > {
> > > > > > > _next=value;
> > > > > > > }
> > > > > > > }
> > > > > > > public System.Windows.Forms.Form Back
> > > > > > > {
> > > > > > > get
> > > > > > > {
> > > > > > > return _back;
> > > > > > > }
> > > > > > > set
> > > > > > > {
> > > > > > > _back=value;
> > > > > > > }
> > > > > > > }
> > > > > > > }
> > > > > > >
> > > > > > > private void buttonNext_Click(object sender,
e)
> > > > > > > {
> > > > > > > this.Hide();
> > > > > > > this.Next.Show();
> > > > > > > }
> > > > > > >
> > > > > > > private void buttonBack_Click(object sender,
e)
> > > > > > > {
> > > > > > > this.Hide();
> > > > > > > this.Back.Show();
> > > > > > > }
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > public class MainForm : System.Windows.Forms.Form
> > > > > > > {
> > > > > > > private FormWisard form1=new FormWisard("Form 1");
> > > > > > > private FormWisard form2=new FormWisard("Form 2");
> > > > > > > private FormWisard form3=new FormWisard("Form 3");
> > > > > > >
> > > > > > > public MainForm()
> > > > > > > {
> > > > > > > form1.Back=null;
> > > > > > > form1.Next=form2;
> > > > > > >
> > > > > > > form2.Back=form1;
> > > > > > > form2.Next=form3;
> > > > > > >
> > > > > > > form3.Back=form2;
> > > > > > > form3.Next=null;
> > > > > > >
> > > > > > > }
> > > > > > >
> > > > > > > private void MainForm_Load(object sender, System.EventArgs
e)
> > > > > > > {
> > > > > > > form1.Show();
> > > > > > > }
> > > > > > >
> > > > > > > [STAThread]
> > > > > > > static void Main()
> > > > > > > {
> > > > > > > Application.Run(new MainForm());
> > > > > > > }
> > > > > > > }
> > > > > > > }
> > > > > > >
> > > > > > > ça affiche qu'une fenetre vide.
> > > > > > >
> > > > > > > et si je met ça :
> > > > > > > Application.Run(form1); // car je veux démarer
> > avec
> > > la
> > > > > > > fenetre form1
> > > > > > > il y a l'erreur : Une référence d'objet est requise pour le
> champ
> > > non
> > > > > > > statique "Wizard.MainForm.form1"
> > > > > > > Comment faire SVP????? y a une autre methode?
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > > Un Wizard est une fenêtre qui affiche différents contrôles
> un
> > > > chemin
> > > > > > précis.
> > > > > >
> > > > > > La méthode la plus simple pour implémenter un wirard est de
> n'avoir
> > > > qu'un
> > > > > > formulaire qui contient plusieurs contrôles Panel, contenant
> chacun
> > un
> > > > > écran
> > > > > > différent, que vous cachez et affichez à tour de rôle.
> > > > > >
> > > > > > Vous n'avez pas de communication inter formulaire, pas de
gestion
> > > > > éparpillée
> > > > > > du chaînage des étapes, une centralisation des données
collectées,
> > pas
> > > > de
> > > > > > gestion des formulaires planqués sous d'autres, etc. . En un
:
> > un
> > > > code
> > > > > > beaucoup plus simple.
> > > > > >
> > > > > > Un exemple de gestionnaire de bouton Next
> > > > > >
> > > > > >
> > > > > >
> > > > > > Next_Clicked(.){
> > > > > >
> > > > > > if(m_courantPanel<m_Panels.Count){
> > > > > >
> > > > > > m_Panels[courantPanel].Visible false;
> > > > > >
> > > > > > m_Panels[courantPanel].Visible = true;
> > > > > >
> > > > > > CollecteInformation(courantPanel);
> > > > > >
> > > > > > courantPanel++;
> > > > > >
> > > > > > }
> > > > > >
> > > > > > }
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Paul Bacelar
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Avec 3 Panel dans un formulaire avec chacun un UserControl.
Vous rendez visible un de ces trois panel en fonction des clicks sur les
boutons du formulaire.
Aucun problème particulier, pas de cache de fenêtre, un découpage strict
entre la présentation des données dans les UserControl et les règles
business qui seront appelé par les boutons du formulaire, centralisation
processus de choix des IHM visible etc...
--
Paul Bacelar
"CooL6a" wrote in message
news:
> Bien, supposant que ce que vous dites colle avec mon appli, maintenant
> (juste par curiosité) comment faire pour naviguer entre 3 fenêtres, avec
des
> show et hide?
> "Paul Bacelar" a écrit dans le
> de news:%
> > Quand on a une centaine d'interfaces, il est encore plus fastidieux de
> gérer
> > des fenêtres indépendantes qui peuvent se cacher les une les autres et
qui
> > doivent se connaître entre elles. Avec un seul formulaire ou un nombre
> très
> > restreint, cela simplifie énormément la gestion car le nombre de
> > configurations de visibilité des différents éléments est limité.
> >
> > Vous dites qu'il est fastidieux d'avoir à gérer un nombre important de
> panel
> > par formulaire, mais pensez que pour l'utilisateur, il est fastidieux
> > d'avoir une pléthores de formulaires ouverts en même temps ou qui
> s'ouvrent
> > et se ferme de manière intempestive; entraînant un rallye avec la
à
> > la poursuite du nouveau formulaire décalé à l'écran du précédent, ou
> encore
> > un safari pour s'avoir derrière quelle satané fenêtre c'est planqué le
> > nouveau formulaire.
> >
> > Les Panels et les UserControls permettent de gérer les interfaces qui
un
> > moment T, sont simple.
> >
> > Si, à un moment de l'exécution de votre programme, vous vous retrouvez
> avec
> > une interface qui ne se résumerait pas à un formulaire, les boutons
"Prev"
> > et "Next" ne seront sûrement pas adaptés et le problème ne sera pas le
> > chaînage des formulaire mais leur interactions qui repose sur une
> conception
> > soignée.
> >
> > Pouvez vous caractériser votre problème car avoir des centaines
> > n'est aucunement antinomique de l'utilisation de panel dans un
formulaire
> > avec des UserControls différents pour chaque écran. Chaque UserControl
> > pouvant maîtriser ses propres données si nécessaires ou les partagé
> d'
> > autre mais alors sous la tutelle du formulaire principale.
> > --
> > Paul Bacelar
> >
> >
> > "CooL6a" wrote in message
> > news:
> > > Quand on a un projet avec une centaines d'interfaces alors ça
> > > fastidieux de les gérer toutes dans un même formulaire avec des
panels,
> > > peut-être je n'étais pas clair avant car je voulais simplifier ma
> > question,
> > > mais croyez moi j'ai besoin de gérer la navigation entre plusieurs
> > > fenêtres...
> > >
> > > "Paul Bacelar" a écrit dans le
> message
> > > de news:OneBzW$
> > > > J'ai du mal à voir pourquoi votre cas d'utilisation ne colle pas
avec
> > > > l'approche par panel.
> > > >
> > > > Si vous voulez des Forms qui d'affichent en file indienne avec un
> back,
> > > > pourquoi ne pas utiliser un ShowDialog sur les formulaires avec un
> > > > DialogResult câblé sur le bouton Back?
> > > > --
> > > > Paul Bacelar
> > > >
> > > >
> > > > "CooL6a" wrote in message
> > > > news:
> > > > > Merci Paul, mais mon appli n'est pas vraiment un wizard, j'ai
> > plusieurs
> > > > > fenêtres dont la première par exemple est celle de la connexion,
et
> je
> > > > veux
> > > > > au moins donner la possibilité à l'utilisateur de revenir en
arrière
> > > pour
> > > > > visualiser ou changer ces choix, ce que tu m'a proposé je le
> dans
> > > ces
> > > > > fenêtres ou j'ai utilisé plusieurs panels qui sont visibles ou
> cachés
> > > > selon
> > > > > le contexte.
> > > > >
> > > > >
> > > > > "Paul Bacelar" a écrit dans
> > > message
> > > > > de news:uC$
> > > > > > "CooL6a" wrote in message
> > > > > > news:
> > > > > > > Bonjour,
> > > > > > > je veux avoir la possibilité de naviguer entre 3 fenêtres,
> chacune
> > > > > > contient
> > > > > > > deux boutons Next et Back, j'ai écris ce code:
> > > > > > >
> > > > > > > namespace Wisard
> > > > > > > {
> > > > > > > class FormWisard : System.Windows.Forms.Form
> > > > > > > {
> > > > > > >
> > > > > > >
> > > > > > > public FormWisard(String Title)
> > > > > > > {
> > > > > > > this.Text = Title;
> > > > > > > }
> > > > > > >
> > > > > > > private System.Windows.Forms.Form _next;
> > > > > > > //Fenetre suivante
> > > > > > > private System.Windows.Forms.Button buttonNext;
> > > > > > > private System.Windows.Forms.Button buttonBack;
> > > > > > > private System.Windows.Forms.Form _back;
> > > > > > > //Fenêtre prec
> > > > > > >
> > > > > > > //Initialisation des prop des composants buttonNext,
buttonBack
> et
> > > de
> > > > la
> > > > > > > fenetre FormWisard
> > > > > > > ......
> > > > > > >
> > > > > > > // les proprietes Next et Back
> > > > > > > public System.Windows.Forms.Form Next
> > > > > > > {
> > > > > > > get
> > > > > > > {
> > > > > > > return _next;
> > > > > > > }
> > > > > > > set
> > > > > > > {
> > > > > > > _next=value;
> > > > > > > }
> > > > > > > }
> > > > > > > public System.Windows.Forms.Form Back
> > > > > > > {
> > > > > > > get
> > > > > > > {
> > > > > > > return _back;
> > > > > > > }
> > > > > > > set
> > > > > > > {
> > > > > > > _back=value;
> > > > > > > }
> > > > > > > }
> > > > > > > }
> > > > > > >
> > > > > > > private void buttonNext_Click(object sender,
e)
> > > > > > > {
> > > > > > > this.Hide();
> > > > > > > this.Next.Show();
> > > > > > > }
> > > > > > >
> > > > > > > private void buttonBack_Click(object sender,
e)
> > > > > > > {
> > > > > > > this.Hide();
> > > > > > > this.Back.Show();
> > > > > > > }
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > public class MainForm : System.Windows.Forms.Form
> > > > > > > {
> > > > > > > private FormWisard form1=new FormWisard("Form 1");
> > > > > > > private FormWisard form2=new FormWisard("Form 2");
> > > > > > > private FormWisard form3=new FormWisard("Form 3");
> > > > > > >
> > > > > > > public MainForm()
> > > > > > > {
> > > > > > > form1.Back=null;
> > > > > > > form1.Next=form2;
> > > > > > >
> > > > > > > form2.Back=form1;
> > > > > > > form2.Next=form3;
> > > > > > >
> > > > > > > form3.Back=form2;
> > > > > > > form3.Next=null;
> > > > > > >
> > > > > > > }
> > > > > > >
> > > > > > > private void MainForm_Load(object sender, System.EventArgs
e)
> > > > > > > {
> > > > > > > form1.Show();
> > > > > > > }
> > > > > > >
> > > > > > > [STAThread]
> > > > > > > static void Main()
> > > > > > > {
> > > > > > > Application.Run(new MainForm());
> > > > > > > }
> > > > > > > }
> > > > > > > }
> > > > > > >
> > > > > > > ça affiche qu'une fenetre vide.
> > > > > > >
> > > > > > > et si je met ça :
> > > > > > > Application.Run(form1); // car je veux démarer
> > avec
> > > la
> > > > > > > fenetre form1
> > > > > > > il y a l'erreur : Une référence d'objet est requise pour le
> champ
> > > non
> > > > > > > statique "Wizard.MainForm.form1"
> > > > > > > Comment faire SVP????? y a une autre methode?
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > > Un Wizard est une fenêtre qui affiche différents contrôles
> un
> > > > chemin
> > > > > > précis.
> > > > > >
> > > > > > La méthode la plus simple pour implémenter un wirard est de
> n'avoir
> > > > qu'un
> > > > > > formulaire qui contient plusieurs contrôles Panel, contenant
> chacun
> > un
> > > > > écran
> > > > > > différent, que vous cachez et affichez à tour de rôle.
> > > > > >
> > > > > > Vous n'avez pas de communication inter formulaire, pas de
gestion
> > > > > éparpillée
> > > > > > du chaînage des étapes, une centralisation des données
collectées,
> > pas
> > > > de
> > > > > > gestion des formulaires planqués sous d'autres, etc. . En un
:
> > un
> > > > code
> > > > > > beaucoup plus simple.
> > > > > >
> > > > > > Un exemple de gestionnaire de bouton Next
> > > > > >
> > > > > >
> > > > > >
> > > > > > Next_Clicked(.){
> > > > > >
> > > > > > if(m_courantPanel<m_Panels.Count){
> > > > > >
> > > > > > m_Panels[courantPanel].Visible false;
> > > > > >
> > > > > > m_Panels[courantPanel].Visible = true;
> > > > > >
> > > > > > CollecteInformation(courantPanel);
> > > > > >
> > > > > > courantPanel++;
> > > > > >
> > > > > > }
> > > > > >
> > > > > > }
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Paul Bacelar
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>