Utilisateur anonyme
-
19 déc. 2005 à 14:54
Utilisateur anonyme -
20 déc. 2005 à 11:44
C re-moi !
Donc dans une MainForm je load la Form1 comme suit
BoutonClick{
string chemin="c://tactac.jpeg";
Form1 edit =new Form1(chemin);
edit.Show();
}
The probleme is que a chaque fois ke je clique sur le bouton une
nouvelle Form s'ouvre.. c normal oui, sauf que moi je veux pas en créer
une par click, mais bien une seule, et si elle est deja afichée pas en
creer une autre.
Bon jsui parti sur une autre solution, c moche ca ferme la form avant de la rouvrir ms c tou c ke j'ai trouvé
if(formOuverte==false){
edit =new Form1();
edit.Test=chemin;
edit.Show();
formOuverte=true;
}
else
{
edit.Dispose();
edit =new Form1();
edit.Test=chemin;
edit.Show();
}
Si z'avez une idée pr ameliorer ca ... sinon on peut dire que le
probleme est résolu, à l'arrache mais résolu. Merci à tous de m'avoir
consacré du temps
cs_poullos
Messages postés145Date d'inscriptionlundi 13 janvier 2003StatutMembreDernière intervention27 décembre 20052 19 déc. 2005 à 15:06
Tu peux faire un edit.ShowDialog(); a la place de edit.Show(); comme ca
l'utilisateur ne pourra pas revenir a la form precedente tant que celle
ci ne sera pas fermée. Noubli pas de placer un bouton sur la forme
ouverte permettant de la fermer. (this.dispose())
cs_poullos
Messages postés145Date d'inscriptionlundi 13 janvier 2003StatutMembreDernière intervention27 décembre 20052 19 déc. 2005 à 15:11
Si cette solution ne te plait pas, tu peux creer un bool dans ta form parente (celle qui va appeler form1). En gros ca donne ca:
form ...
{
public bool dejaouverte = false;
BoutonClick{
string chemin="c://tactac.jpeg";
if (dejaouverte == false)
{
Form1 edit =new Form1(chemin, this);
edit.Show();
dejaouverte = true;
}
}
}
et quand tu fermes ta form1 tu remets dejaouverte a false. Tu peux le
faire car tu le passes en parametre a ta form1 lors de sa creation ce
qui t oblige a changer un peu ton code.
Poste le code de ta form si tu n'as pas compris des fois je suis pas tres clair
cs_poullos
Messages postés145Date d'inscriptionlundi 13 janvier 2003StatutMembreDernière intervention27 décembre 20052 19 déc. 2005 à 16:10
Si j'ai bien compris, tu voudrais qu'a chaque fois qu'on click sur un
element de ta listBox, une forme souvre avec une photo mais pas dans
deux fenetres differentes, donc que toutes les iamages souvrent dans le
même form ?
Si c'est bien ca, il suffit juste de killer la form a chaque fois qu'un
item est selectionné et de la rouvrir derriere comme ca on croira que
c'est toujours la même qu isera utilisée.
Genre tu gardes la fonction apercu que tu avais avant en suvegardant ta
form1 dans une variable globale et tu rajoutes dans l'evenement de
changement d'index de ta listBox un code qui supprime la forme
sauvegardée et tout va marcher ^^
PS: C'est un peu porcos par contre mais bon je vois pas d'autres solutions
cs_poullos
Messages postés145Date d'inscriptionlundi 13 janvier 2003StatutMembreDernière intervention27 décembre 20052 19 déc. 2005 à 18:02
A houi j'avais oublié ce design pattern qui est excactement prévu pour ton cas :p. Je l'ai vu l'année derniere mais comme je m'en suis jamais servi ...