Bonjour
j'ai le code suivant :
mais Form.ActiveForm donne tjrs la valeur Nothing malgré une form active
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Dim CurrentForm As New Form CurrentForm = Form.ActiveForm
Bonjour
j'ai le code suivant :
mais Form.ActiveForm donne tjrs la valeur Nothing malgré une form active
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Dim CurrentForm As New Form CurrentForm = Form.ActiveForm
Trouvant votre problème étrange j'ai effectué un petit test :
Ce code se trouvait dans un bouton. Si j’exécute mon exemple en cliquant sur le bouton sans passer par le debug, il m'indiquera que j'ai bien une form active. Si je l'exécute en début et donc que je passe sur l'activeForm en step to step, la fonction me renverra null. Ce qui est logique car la fenêtre active (celle-de debug) ne fait pas partie de votre projet et cache la fenêtre dans laquelle vous effectuer le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Form currentForm = Form.ActiveForm ; if (currentForm != null) MessageBox.Show("actif"); else MessageBox.Show("non actif");
Je vois qu'il existe une méthode Activate qui active la form et donc l'amène en avant plan (pour autant qu'elle soit visible).
Articles sur les technologies .NET
Une réponse vous a aidé ? utilisez le bouton
Votre problème est résolu ? utilisez le bouton
Merci
le problème était de faire le traitement dans le catch
et pour régler ca j'ai fait le traitemet dans la méthode Activated de la Form
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Try ...... Catch ex As Exception Dim CurrentForm As New Form CurrentForm = Form.ActiveForm ...... End Try
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub MaForm_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated Dim CurrentForm As String = Form.ActiveForm.Name.ToString End Sub
Partager