Форма потеряла фокус - основной вопрос - PullRequest
2 голосов
/ 19 июня 2011

У меня есть приложение C # windows form со всеми настройками по умолчанию.Я использую VS 2008, ОС - Windows VIsta.

Когда моя форма теряет фокус (например, когда пользователь нажимает на что-то позади формы), мне нужна та же форма, которая потеряла фокус, чтобы восстановить ее.1003 *

Я использовал это событие, чтобы обработать это;

private void Form1_Deactivate_1(object sender, EventArgs e)
{

  Console.WriteLine("DEACTIVATE EVENT _______+++++++++_________");
   Form1 f = new Form1();
  f.show();
}

Здесь вы увидите, что когда форма теряет фокус, команда Console.writeline будет выполнена, и новаяформа появится на экране.Я не хочу это.Я хочу, чтобы точная форма, которая потеряла фокус, вернула фокус и снова появилась на экране.Как мне это сделать.

1 Ответ

5 голосов
/ 19 июня 2011

Form.Activate методы активируют форму и дают ей фокус:

form.Activate();

Form.TopMost Свойство указывает, должна ли форма отображаться как самая верхняяform.
Самая верхняя форма - это форма, которая перекрывает все другие (не самые верхние) формы, даже если она не является активной или основной формой.Самые верхние формы всегда отображаются в самой высокой точке в z-порядке окон на рабочем столе.

form.TopMost = true;
...