Определить, когда приложение становится активным - PullRequest
1 голос
/ 11 апреля 2010

В приложении MDI какое событие может использовать дочерний класс Form, чтобы определить, когда приложение станет активным?

Я пытался Form.Acivated событие, но это происходит только тогда, когда форма активирована и не, когда приложение получает фокус

Ответы [ 3 ]

2 голосов
/ 11 апреля 2010

Это родительская форма MDI, которая получает событие Activated. Вы можете подписаться на событие в событии Load вашей дочерней формы. Будьте осторожны, вы должны быть уверены, что отмените подписку на событие, когда дочерний объект будет закрыт, или вы потеряете экземпляр дочерней формы. Сделайте так, чтобы это выглядело так:

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 голос
/ 11 апреля 2010

Хотя WPF имеет такое понятие , WinForms, насколько мне известно, не в меру; вам нужно использовать события уровня формы (как GotFocus из предыдущего ответа).

1 голос
/ 11 апреля 2010

Вы пробовали событие GotFocus ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...