IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Détecter la Mdi active


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Par défaut Détecter la Mdi active
    Bonjour j'ai besoin de savoir quelle Mdi enfant est active.
    Donc si j ai plusieurs Mdi enfant lancées je veux savoir la quelle est la première.

    J'avais pensé à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    If main_form.ActiveMdiChild.Text = "form_mdi1" then blabla
    Mais je ne sais pas dans quelle évènement mettre le code pour détecter quand on donne le focus a une autre mdi et quelle celle-ci passe première.

    C'est pour pouvoir activer désactiver des boutons dans la toolbar principal de mon application en fonction de la mdi qui a le focus "qui est sur le premier plan".

    Si vous avez une solution.

    Merci

  2. #2
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Utilise pour chacune de tes forms les évènements LostFocus et GotFocus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Private Sub MyForm1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.GotFocus
     
               Form1actived = 1
     
        End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Private Sub MyForm1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LostFocus
     
               Form1actived = 0
     
        End Sub
    Ensuite dans ton sub tu exécute telle ou telle action en fonction du form actif :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Public Sub Formactivated
     
            If Form1actived = 1 Then
     
                Ton_action1
     
            ElseIf Form2actived = 1 Then
     
                Ton_action2
     
            ElseIf Form3actived = 1 Then
     
                Ton_action3
     
            .....
     
            End If
     
    End Sub

Discussions similaires

  1. Erreur: Aucune fiche Non MDI Active
    Par tijani dans le forum Composants VCL
    Réponses: 4
    Dernier message: 18/02/2010, 14h32
  2. Détecter l'application active
    Par titi34 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/10/2008, 22h55
  3. Réponses: 0
    Dernier message: 07/01/2008, 18h12
  4. MDI activer une fenetre ouverte
    Par lebfar dans le forum MFC
    Réponses: 1
    Dernier message: 13/09/2007, 13h50
  5. Réponses: 8
    Dernier message: 14/03/2005, 21h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo