J'ai converti cette application à partir de VB6. J'ai 2 formes. Form1 instancie Form2 via un élément de menu. J'ai des difficultés à terminer Form2 en cliquant sur Fermer (X). Si Form2 est 'inactif', il se ferme bien; mais si je suis dans une boucle traitant n'importe quoi tous les événements se déclenchent, mais il continue le traitement dans Form2. J'ai essayé de jouer avec Dispose, Close, Application.Exit, Application.ExitThread. Ma dernière tentative a été de créer mon propre événement pour retourner à Form1 et de disposer de Form2 - et il frappe, mais Form2 est toujours en cours d'exécution. Quel est le deal? BTW si j'utilise juste Show vs ShowDialog - Form2 clignote et disparaît.Formulaire ShowDialog VB.NET non terminé
Form1 does this
Dim f2 as Import
:
Hide()
f2 = New Import
AddHandler f2.die, AddressOf killf2
f2.ShowDialog(Me)
Show()
Private Sub killf2()
f2.Dispose()
f2 = Nothing
End Sub
Form2
Public Event die()
Private Shadows Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Dispose()
Close()
e.Cancel = False
RaiseEvent die()
End Sub
Je viens d'appeler l'événement Form1_FormClosing comme je l'ai copié et collé. Il gère réellement MyBase.FormClosing - for form2. Si ce n'est pas ce que vous vouliez dire - alors comment j'écoute l'événement form_closing de form 2 dans form1 autre que simplement lever un événement et mettre f2 = rien comme je l'ai fait. Merci! –
J'ai essayé peut-être ce que vous faisiez référence –
Dim WithEvents f2 importation –