Форма потеряла фокус в C # - PullRequest
15 голосов
/ 20 февраля 2009

Это может быть простой вопрос C #, но мне нужно решение.

У меня есть две формы: form1 и form2 , с form1 с кнопкой . На нажмите кнопки, я хочу показать form2 . Когда form2 теряет фокус, я хочу скрыть это ( form2 ). Как я могу это сделать? Я пытался подписаться на событие LostFocus form2 , но оно не работает.

Пожалуйста, помогите мне с этим.

Примечание - я использую .Net 2.0

Ответы [ 2 ]

29 голосов
/ 20 февраля 2009

Использовать обработчик событий Deactivate

7 голосов
/ 20 февраля 2009

Если я понимаю ваш вопрос, я думаю, вы действительно хотите заманить в ловушку дезактивацию. Обработчик кнопок внутри вашей основной формы:

private void button1_Click(object sender, EventArgs e)
{
    Form childForm = new Form();
    childForm.Deactivate += delegate
    {
        childForm.Close();
    };

    childForm.Show();
}
...