Bon je persiste dans la communication entre 2 form.
Fort de ce que j'ai lu sur : http://freddyboy.developpez.com/dotnet/articles/events/
J'en suis arrivé a cette classe :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| class C_Fact_Event : EventArgs
{
private C_GUI_FAIT _VarFact;
public delegate void FactGeneratedEventHandler(object sender, C_Fact_Event e);
public event FactGeneratedEventHandler OnClickButtonValider;
public C_Fact_Event(C_GUI_FAIT theEventFact)
{
if (_VarFact == null) throw new NullReferenceException();
_VarFact = theEventFact;
}
public C_Fact_Event()
{
}
} |
Comme il m'a ete indiqué plus haut, j'encapsule mon C_GUI_FAIT dans un evenement via cette classe.
Pour revenir à ce que doit faire ce bout d'application, je dispose d'une fenetre mere qui s'appelle Editeur.cs.
la form Editeur est composé d'un objet nommé C_GUI_PROJET qui dispose d'une list de C_GUI_FAIT.
Je dispose egalement d'une fenetre s'appellant NouveauFait.cs.
Cette derniere est appellé lors de la creation d'un nouveau fait dans la fenetre Editeur, elle me permet de saisir les champs nom et description, et, lors du click sur le bouton Valider dans NouveauFait, je dois pouvoir faire remonter les informations saisi sur NouveauFait vers la form Editeur.
Voila le code implementé sur l'evenement OnClick du boutton Valider de la form NouveauFait :
1 2 3 4 5 6 7 8 9 10
| private void button1_Click(object sender, EventArgs e)
{
C_GUI_FAIT _NewFact = new C_GUI_FAIT();
_NewFact.setNom(label1.Text);
_NewFact.setDescription(richTextBox1.Text);
C_Fact_Event e1 = new C_Fact_Event(_NewFact);
OnClickButtonValider(this, e1);
this.Close();} |
Donc je pense avoir suivi la logique du dialogue via evenement.
Et enfin dans la form Editeur, voila le code specifique que j'ai rajouté :
1 2 3
| private C_Fact_Event _myFactGenerate = new C_Fact_Event();
static public C_GUI_PROJET _NewProjet; |
Il y a une ligne de code que je ne sais absolument pas ou mettre, c'est celle ci :
_myFactGenerate.OnClickButtonValider += new . . .
Bon comme vous l'aurez remarqué, j'ai pas tout saisi sur la facon pour faire communiquer 2 forms via les evenements, donc si je pouvais avoir un petit coup de main
Pour info, quand j'execute j'ai un message d'erreur a ce niveau :
1 2
| if (_VarFact == null) throw new NullReferenceException();
La référence d'objet n'est pas définie à une instance d'un objet. |
Un petit coup de main ?
Partager