失去焦点 - 基本问题

时间:2011-06-19 09:49:49

标签: 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();
}

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

1 个答案:

答案 0 :(得分:5)

Form.Activate方法激活表单并将其重点放在:

form.Activate();

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

form.TopMost = true;