我有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命令并在屏幕上显示一个新表单。我不想要这个。我想要失去焦点的确切形式重新获得焦点并重新出现在屏幕上。我该怎么做。
答案 0 :(得分:5)
Form.Activate方法激活表单并将其重点放在:
form.Activate();
Form.TopMost属性表示表单是否应显示为最顶层的表单 最上面的表单是一种与所有其他(非最顶层)表单重叠的表单,即使它不是活动表单或前景表单。最顶层的表单始终显示在桌面上窗口的z顺序的最高点。
form.TopMost = true;