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

Résolu
cs_Master
Messages postés
32
Date d'inscription
samedi 14 octobre 2000
Statut
Membre
Dernière intervention
29 août 2005
- 8 juin 2005 à 11:42
cs_dragon
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
- 9 juin 2005 à 13:52
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

cs_dragon
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
6
8 juin 2005 à 15:49
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
cs_dragon
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
6
8 juin 2005 à 18:45
c'est poster


-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------
3
cs_drahcir
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
8 juin 2005 à 11:52
Salut,

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

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

8 juin 2005 à 11:59
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_drahcir
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
8 juin 2005 à 15:08
et si tu rends tous ces composants "disabled"?
0
cs_Master
Messages postés
32
Date d'inscription
samedi 14 octobre 2000
Statut
Membre
Dernière intervention
29 août 2005

8 juin 2005 à 15:11
désolé. c'est pas possible. ce sont des composants dynamiques et déplacable par l'utilisateur, faut qu'ils restent donc actifs


Master
0
cs_drahcir
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
8 juin 2005 à 15:16
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.

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

8 juin 2005 à 15:19
ok c une solution

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

Master
0
cs_drahcir
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
8 juin 2005 à 15:21
à 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.

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

8 juin 2005 à 15:22
ok si je trouve la solution, je te mail et vice-versa

Master
0
cs_christoni
Messages postés
140
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
1 novembre 2010
7
8 juin 2005 à 15:29
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.
0
cs_Master
Messages postés
32
Date d'inscription
samedi 14 octobre 2000
Statut
Membre
Dernière intervention
29 août 2005

8 juin 2005 à 15:33
c pas tout a fait clair mais je v me débrouiller avec ce ke tu ma donné.

Merci

@+


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

8 juin 2005 à 15:51
ok, c cool on attends ca

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

8 juin 2005 à 19:17
merci bcp dragon

je vais voir ca tout de suite



@+

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

9 juin 2005 à 10:57
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
0
cs_dragon
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
6
9 juin 2005 à 13:52
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
-------------------------------------------------
0