失去焦点 - 基本问题

ill*_*lep 2 c# forms focus show

我有C#windows窗体应用程序,具有所有默认设置.我正在使用VS 2008,OS - Windows VIsta.

当我的表单失去焦点时(例如当用户点击表单后面的某些内容时),我需要使用相同的表单来失去焦点以重新获得它.

我利用这个事件来处理这件事;

private void Form1_Deactivate_1(object sender, EventArgs e)
{

  Console.WriteLine("DEACTIVATE EVENT _______+++++++++_________");
   Form1 f = new Form1();
  f.show();
}
Run Code Online (Sandbox Code Playgroud)

在这里,您将看到的是当表单失去焦点时,将执行Console.writeline命令并在屏幕上显示一个新表单.我不想要这个.我想要失去焦点的确切形式重新获得焦点并重新出现在屏幕上.我该怎么做呢.

Akr*_*hda 5

Form.Activate方法激活表单并使其重点关注:

form.Activate();
Run Code Online (Sandbox Code Playgroud)

Form.TopMost属性指示表单是否应显示为最顶层的表单.
最上面的表单是一种与所有其他(非最顶层)表单重叠的表单,即使它不是活动表单或前景表单.最顶层的表单始终显示在桌面上窗口的z顺序的最高点.

form.TopMost = true;
Run Code Online (Sandbox Code Playgroud)