2010-09-08 5 views
0

question très basique. J'ai 3 formes. une forme principale avec deux boutons, qui doivent ouvrir l'une des deux autres formes en cliquant sur le bouton. Maintenant, lorsque le bouton 2 est cliqué, alors le formulaire 2 devrait s'ouvrir et former la forme 2 personne devrait être en mesure de revenir en arrière et de venir au formulaire principal. comment puis-je faire cela?vb formes bouton contrôle

Répondre

0

peu brumeux sur VB mais cela devrait être assez bon :)

On click of button that shows form2 [Modified] 

Dim frmOne as Form1 
frmOne = Me 

Dim frmTwo as Form2 
    frmTwo = new Form2(frmOne) 
    frmTwo.show() 

Note: Form2 should have a constructor that takes form1 object. 

To come back place a button on Form2 and pass the object of first form to form2. 
me.hide() or me.visible = false 
frmOne.show() 
0

Sous forme d'appel, déclare une référence à la forme dite, et utiliser le mot-clé WithEvents si vous voulez piéger les événements du formulaire (comme form_closing)

Public Class MDIMain 
    Private WithEvents _cases As frmGrid 

puis, quand ils cliquent sur quelque chose pour ouvrir la deuxième forme, créer une nouvelle instance de celui-ci:

Private Sub mnuViewCaseFiles_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuViewCaseFiles.Click 
    If IsNothing(_cases) Then 
     _cases = New frmGrid 
     _cases.WindowState = FormWindowState.Maximized 
    End If 
    _cases.Visible = Me.mnuViewCaseFiles.Checked 
End Sub 

alors vous pouvez gérer l'événement de clôture de la deuxième forme:

Private Sub _cases_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles _cases.FormClosing 
    _cases = Nothing 
    mnuViewCaseFiles.Checked = False 
End Sub 
Questions connexes