cs_ShayW
Messages postés3258Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 2019
-
13 févr. 2011 à 19:51
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
14 févr. 2011 à 11:31
Bonsoir à tous
j'ai une windowsform application avec 2 form
form1 et form2 et dans chacun d'eux un bouton.
form2 est le startup form
je voudrais que si je clique sur le bouton de form1 celui-ci se ferme et form2 soit visible
et si je clique sur le bouton de form2 qu'il se ferme et form1 soit visible
j'ai écrit ça mais ça ne marche pas l'application se ferme carrément
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Close()
Form2.Visible = True
End Sub
End Class
Public Class Form2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Close()
Form1.Visible = True
End Sub
End Class
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 14 févr. 2011 à 09:07
La propriété Visible marche parfaitement. D'ailleurs la méthode .Show ne fait rien d'autre que de mettre la propriété visible à True.
Quant au fait que la fenêtre n'existe pas, de faire Form2.Visible = True va automatiquement créer une instance de la classe de base Form2 avant d'appliquer la modification sur la propriété Visible.
Pour ce qui est du .Hide, si cela masque bien la fenêtre en question, celle-ci n'est pas pour autant fermée. S'il est nécessaire de la fermer il faut utiliser .Close.
En modifiant les propriétés du projet pour une fermeture sur le dernier formulaire, le code suivant marche parfaitement :
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.Visible = True
Me.Close()
End Sub
End Class
............
Public Class Form2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form1.Visible = True
Me.Close()
End Sub
End Class
[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
cs_ShayW
Messages postés3258Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201956 14 févr. 2011 à 09:13
Bonjour Casy
j'ai recompilé et écris le me.close après le
form.visible mais sans résultat
Alors je me suis contenté de la solution proposée
par tovin me.hide et form2.show
bien qu'avec me.hide la form est toujours en
mémoire
Bonjour tovin
je viens de tester
tovin
Messages postés164Date d'inscriptionsamedi 11 décembre 2004StatutMembreDernière intervention14 août 20133 14 févr. 2011 à 11:02
Rebonjour,
Désolé Casy,
le code testé sous VB 2010
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.Visible = True
Me.Close()
End Sub
ne marche pas.
Les 2 forms disparaissent de l'écran.
Par contre, la solution de ShayW marche parfaitement.