OVH Cloud OVH Cloud

application multifenetres

8 réponses
Avatar
CooL6a
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?

8 réponses

Avatar
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 é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
Avatar
CooL6a
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 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 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 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




Avatar
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 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 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 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
>
>




Avatar
CooL6a
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 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 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 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 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
> >
> >
>
>




Avatar
Paul Bacelar
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 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 à 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 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 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 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 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


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 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
> > >
> > >
> >
> >
>
>




Avatar
CooL6a
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 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 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 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 à 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 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


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 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 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
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 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
> > > >
> > > >
> > >
> > >
> >
> >
>
>




Avatar
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 du
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 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


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 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 à


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 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
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


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 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
> 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


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
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>




Avatar
CooL6a
Merci ;-)
"Paul Bacelar" a écrit dans le message
de news:ctfpme$kuu$
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


du
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


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
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


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


à
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


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
> 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
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


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
> > 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
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
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>