edwinzap
Messages postés149Date d'inscriptionsamedi 29 septembre 2012StatutMembreDernière intervention21 juin 2016
-
4 sept. 2013 à 14:06
edwinzap
Messages postés149Date d'inscriptionsamedi 29 septembre 2012StatutMembreDernière intervention21 juin 2016
-
5 sept. 2013 à 22:23
Bonjour à tous.
J'ai un problème récurrent dont je ne trouve pas de solution. La solution est sans doute facile.
Alors voilà, j'ai deux formulaires. Sur le premier, un bouton pour afficher le 2ème dont voici le code:
With Form_Historique
.Visible = True
.WindowState = FormWindowState.Normal
.FormBorderStyle = Windows.Forms.FormBorderStyle.Fixed3D
.BringToFront()
.Activate()
End With
Et sur le 2ème, un bouton dans mon menustrip qui affiche le 1er form et dont voici le code:
Private Sub AfficherLeCompteurToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles AfficherLeCompteurToolStripMenuItem.Click
With Form1
.Visible = True
.WindowState = FormWindowState.Normal
.FormBorderStyle = Windows.Forms.FormBorderStyle.Fixed3D
.BringToFront()
.Activate()
End With
End Sub
Mon problème est le suivant: si j'affiche mon second form à l'aide du bouton du 1er form et qu'ensuite je clique sur mon menustrip du second form, mon 1er form se met au premier plan. L'inverse se produit également, mon 2ème form se met au premier plan. Ceci ne se passe que si je clique sur les menustrip !!!
edwinzap
Messages postés149Date d'inscriptionsamedi 29 septembre 2012StatutMembreDernière intervention21 juin 20162 4 sept. 2013 à 15:46
Je vais être plus précis. Lorsque je clique sur "afficher form2" à partir du form1, le form 2 s'affiche. Sur le form2 j'ai un menustrip avec "Edition" et "Affichage". Dans "Affichage", j'ai un menuitem "afficher form1". Le problème est le suivant: si je clique sur la bande du menustrip (je ne clique pas sur "afficher form1", juste sur la bande du menustrip !), le form1 se met au premier plan.
edwinzap
Messages postés149Date d'inscriptionsamedi 29 septembre 2012StatutMembreDernière intervention21 juin 20162 4 sept. 2013 à 19:31
J'ai fait comme tu as dit. Le 2ème form se ferme bien. Mais le problème reste. Lorsque je clique sur le menustrip du second form, le 1er se met en avant plan
Vous n’avez pas trouvé la réponse que vous recherchez ?
With Form_Historique
.Visible = True
.WindowState = FormWindowState.Normal
.FormBorderStyle = Windows.Forms.FormBorderStyle.Fixed3D
.BringToFront()
.Activate()
End With
C'est le code du bouton qui appelle l'affichage de Form2 ( le seconde Forme)
vire tout le code et mets : Form_Historique.Show
Les propriétés Visible,WindowState et FormBorderStyle sont à définir au moment de la crétion de la forme et non pas code!
Ce dernier point est valable aussi bien pour Form2 que Form1
Pour info : BringToFront met la feuille au premier plan
Activate l'active ( c'est la feuille courante)
en général soit Form1 le feuille de démarrage du projet ! Elle peut appeler une feuille Form2 qui elle-même peut appeler Form3 ! On refait le chemin inverse en fermant Form3 ( cela ré affiche Form2) et en fermant Form2 ' ce qui ré affiche Form1)
edwinzap
Messages postés149Date d'inscriptionsamedi 29 septembre 2012StatutMembreDernière intervention21 juin 20162 5 sept. 2013 à 12:21
J'ai tout retiré comme tu l'as demandé et le problème continue de se poser.
Je crois que c'est un bug de VS. J'ai essayé en créant un nouveau projet avec 2 form, et juste un bouton ("afficher form1") et un menustrip sur le premier. Un menustrip sur le 2ème avec un menuitem ("Afficher form1") pour afficher le premier form.
J'ai juste mis pour le bouton du 1er form, form2.show; et pour le menuitem du 2ème, me.dispose. Si je clique sur mon menustrip puis sur "Afficher form2", le form2 s'affiche. Et lorsque du form2, j'appuie sur "Afficher form2", le form1 se met devant.
C'est à s'arracher les cheveux. Je n'y comprends plus rien. Je vais vérifier les mises à jour et si le problème continue, signaler le bug à Microsoft.