Quelqu'un pour aider une pauvre newbie ?

Signaler
Messages postés
24
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
19 mai 2004
-
Messages postés
24
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
19 mai 2004
-
bon voilà, mon problème, c'est que je cherche à initialiser une variable de formulaire (nommé f1) à partir d'une donnée contenue dans un autre formulaire f2.
Sur ce forum, j'ai lu qu'il fallait gérer ça dans les constructeurs avec le mot magique ref pour éviter les exceptions. Mais ce que je ne sais pas faire c'est l'appel à ce constructeur, bicoze il faut une référence vers ce que je passe en paramètre, et là, je sais pas faire.
Si vous avez compris mon baragouinage et que vous pouvez m'aider, n'hésitez pas, cela m'évitera peut-être quelques heures de veille ! Merci!!!

des frites !

7 réponses

Messages postés
24
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
19 mai 2004

pendant que j'y pense, j'ai une autre petite question : à quel évènement correspond le fait de cliquer sur la croix en haut à droite d'un form ? J'ai essayé close, closing et deactivate et apparemment ce n'est pas ça....

des frites
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
1) si j'ai bien compris la question
Constructeur :
Cool(ref string dingue)
{
...
}


Appel :
Cool monCool = new Cool(ref maChaine);


2) la croix "déclenche" 2 évènements : Close et Closing
Close : déclenché apres la fermeture
Closing : déclenché avant la fermeture

Cocoricoooooooo !!!!
Messages postés
24
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
19 mai 2004

Ah ben oui, une fois que c'est écrit ça paraît tellement simple... Merci beaucoup !!!

des frites !
Messages postés
24
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
19 mai 2004

Par contre, ça marche pas cette histoire de close et closing... j'ai jeté un petit coup d'oeil sur l'aide et ils disent que closing se fait après la fermeture... comme close d'ailleurs. donc je peux pas faire mes traitements avant fermeture... Ou alors il faudrait que je puisse désactiver la fermeture de formulaire via la croix, mais ça me paraît un peu impossible quand même...
Ca inspire quelqu'un ?

des frites !
Messages postés
24
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
19 mai 2004

bon, rectification again.

j'ai vu qu'il fallait utiliser un cancel=true ou qqch comme ça, mais ça marche toujours pas. Mon code donne à peu près :

private void form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
e.Cancel = true;

MessageBox.Show("On ferme");
this.Close();
}

En fait il ne m'affiche pas le messagebox alors chui bien embêtée...
ou au lieu du this.close() je dois mettre e.cancel =true ???

des frites !
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
bon deja je ne vois pas pkoi il n'affiche pas le messagebox

ensuite Closing se fait vraiment avant la fermeture du Form.

ensuite je capte pas l'interet du e.Cancel=true (annulation de la demande de fermeture) puis du Close : tu veux empecher la fermeture et derriere tu la demande...

sans compter que Close() va entrainer un evenement Closing, qui va executer Close(), qui va entrainer un evenement Closing, qui va executer Close(), qui...
enfin bref une bonne grosse boucle infinie ^^

ici si tu veux juste dire que l'appli va se fermer ben t'as juste la ligne MessageBox à mettre, pas le reste.

Cocoricoooooooo !!!!
Messages postés
24
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
19 mai 2004

ok ok j'ai vu ce qui n'allait pas, en fait tu avais raison sur le closing (leur aide c'est vraiment de la daube). En fait je n'avais pas rajouté la ligne qu'il fallait dans le initializecomponent donc il ne pouvait pas exécuter ce que je lui demandais..
Et merci pour le conseil de la boucle infinie j'utiliserai une méthode moins merdique !
En tout cas merci merci merci !!

des frites !