Je souhaite mettre à jour une base de données en fonction du formulaire actuellement activé. J'avais initialement décidé d'utiliser l'événement GotFocus. Cependant, je comprends maintenant que cela ne fonctionnera pas car le formulaire a des contrôles dessus. Alors j'ai pensé que j'utiliserais l'événement activé. Cela fonctionne mais semble tirer plusieurs fois. Je mets dans le code suivant:vb.net déclenché plusieurs fois
Private Sub frmNewTicket_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
MsgBox("Form Activated")
End Sub
-je choisir la forme et la rendre active et la boîte de message apparaît environ 15 fois.
Pourquoi fait-il cela? Comment dois-je gérer cela. Je veux seulement que mon code s'exécute une fois quand le formulaire est activé. REMARQUE: Il y a plusieurs formes que les utilisateurs vont changer entre, y compris les formulaires provenant d'autres applications.
De votre question je dérive, que vous voulez faire "quelque chose" une fois pour un formulaire actif? Peut-être que l'événement LOAD ou FORMCLOSING est ce que vous cherchez. La charge est exécutée juste avant que le formulaire soit affiché la première fois, pas encore visible par l'utilisateur. FormClosing est exécuté lorsque l'utilisateur (ou le code) décide de fermer la fenêtre, toujours visible. – Martin