[VB .NET ] Empêcher a une fenêtre de s'ouvrir plusieurs fois [Résolu]

Signaler
Messages postés
32
Date d'inscription
samedi 14 octobre 2000
Statut
Membre
Dernière intervention
29 août 2005
-
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
-
j'ai une fenetre principale dans laquelle j'ai un bouton qui ouvre un second formulaire.

Je voudrai que lorsque le second formulaire est déjà ouvert, ca ne m'ouvre pas un autre

Comment faire ???


Master

16 réponses

Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
5
faut faire un singleton

bon vuq ue personne a l'air de connaitre les patron, je vasi devoir faire un tutorial là dessus. Sauf maudit que c'est gros a faire tout seul

j'essai de pondre ça pour ce soir


-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 110 internautes nous ont dit merci ce mois-ci

Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
5
c'est poster


-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 110 internautes nous ont dit merci ce mois-ci

Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
Salut,

tu peux mettre la propriété enabled de ton boutton à False, comme ça plus de problèmes.

@+
Messages postés
32
Date d'inscription
samedi 14 octobre 2000
Statut
Membre
Dernière intervention
29 août 2005

En fait, c pas tout a fait un bouton. c'est des composant dynamiques (Panel)

y'en a plusieurs.

En cliquant sur l'un d'eux, j'ouvre une fenetre qui ne doit pas etre une fenetre Modale car l'utilisateur

doit encore agir sur la fenetre principale.

Mais s'il clique sur un autre Panel, ca ouvre une autre fenetre et c ca le probleme.



si ya déjà une fenetre qui est ouverte ca ne doit pas en ouvrir une autre



j'espere que je suis clair ???

comment fairr ?

est ce qui pas moyen de savoir combien d'instance d'un objet ya til ??


Master
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
et si tu rends tous ces composants "disabled"?
Messages postés
32
Date d'inscription
samedi 14 octobre 2000
Statut
Membre
Dernière intervention
29 août 2005

désolé. c'est pas possible. ce sont des composants dynamiques et déplacable par l'utilisateur, faut qu'ils restent donc actifs


Master
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
alors tu places un flag que tu mets à true quand tu ouvrees une fenêtre. Ensuite dans ton évènement click, tu testes si ce flag est à true, sinon, tu ouvres ta fenêtre.

@+
Messages postés
32
Date d'inscription
samedi 14 octobre 2000
Statut
Membre
Dernière intervention
29 août 2005

ok c une solution

mais ya til un moyen de savoir combien d'instance d'un objet (fenetre) existe ?

Master
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
à part incrémenter un compteur à chaque fois que tu crées une instance, je ne vois pas. Peut-être que c'est possible mais je ne connaît pas. Si c'est le cas, ça pourrait m'intéresser aussi.

@+
Messages postés
32
Date d'inscription
samedi 14 octobre 2000
Statut
Membre
Dernière intervention
29 août 2005

ok si je trouve la solution, je te mail et vice-versa

Master
Messages postés
140
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
1 novembre 2010
5
Bonjour.
J'emploie l'astuce suivante :
On dit que Form1 est le form principal et Info le form détenu non modal.
Dans la déclaration de form1, je note :
Dim InfoEnCours As Form
Dim Info1 As New Info

Je crée dans form1 la proc suivante :
Sub RappelInfo()
'*** Déclaration et création une nouvelle instance d'objet formulaire "Info"
Dim Info1 As New Info
'*** Ajoute ce form comme détenu au form principal.
Me.AddOwnedForm(Info1)
' Là, c'est l'astuce : on crée une sorte de double de Info1
InfoEnCours = Info1
End Sub

Dans les panel_click j'entre :
Private Sub Panel2_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Panel2.Click
If Info1.Visible = False Then
RappelInfo()
'*** Affiche le double du formulaire (en non modal).
InfoEnCours.Show()
'*** On assigne InfoEnCours à Info1 pour que les évenements Info
'*** soit pris en compte par ce form non modal
Info1 = InfoEnCours
End If
End Sub

Bonne prog.
Messages postés
32
Date d'inscription
samedi 14 octobre 2000
Statut
Membre
Dernière intervention
29 août 2005

c pas tout a fait clair mais je v me débrouiller avec ce ke tu ma donné.

Merci

@+


Master
Messages postés
32
Date d'inscription
samedi 14 octobre 2000
Statut
Membre
Dernière intervention
29 août 2005

ok, c cool on attends ca

Master
Messages postés
32
Date d'inscription
samedi 14 octobre 2000
Statut
Membre
Dernière intervention
29 août 2005

merci bcp dragon

je vais voir ca tout de suite



@+

Master
Messages postés
32
Date d'inscription
samedi 14 octobre 2000
Statut
Membre
Dernière intervention
29 août 2005

c'est exactement ce que je voulais...


ca empêche
d’autres objets d’instancier leurs propres copies de l’objetelle

et on a la possibilité de le modifier

c'est Parfait

un ptit 10/10


Master
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
5
désoler si des personne tombe sur ce message (puisque Master est déjà au courant, faut mettre au courant tout le monde)

le site code source a eu un problème et ma source c,est perdu dans la base de donnée, je la repost vendredi, désoler du contre temps


-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------