2010-04-11 5 views

Répondre

2

C'est le formulaire parent MDI qui reçoit l'événement Activated. Vous pouvez vous abonner à l'événement dans l'événement Load de votre formulaire enfant. Attention, vous devez vous assurer que vous vous désinscrivez de l'événement lorsque l'enfant se ferme ou que vous fuyez l'instance de formulaire enfant. Faire ressembler à ceci:

protected override void OnLoad(EventArgs e) { 
    var main = this.MdiParent; 
    main.Activated += main_AppActivated; 
    this.FormClosed += (o, ea) => main.Activated -= main_AppActivated; 
} 

void main_AppActivated(object sender, EventArgs e) { 
    // Etc... 
} 
1

Avez-vous essayé l'événement GotFocus?

+0

Oui, il a levé une seule fois lorsque la forme est créée. –

1

Alors que WPF has such a notion, WinForms n'est pas, au mieux de ma connaissance; vous auriez besoin d'utiliser des événements de niveau Form (comme GotFocus de la réponse précédente).

Questions connexes