VS 2008 C#将焦点设置为仅一种形式

时间:2011-09-08 09:10:02

标签: c# forms visual-studio-2008 focus

当我的表单(AboutForm)显示时,我需要关注此表单(用户应该只能单击“确定”按钮)!

VS2008中需要哪种设置?

谢谢!

迎接leon22

1 个答案:

答案 0 :(得分:5)

您希望以模式显示 ,因此请使用ShowDialog()而不是Show()。就是这样。

例如:

using(var frm = new AboutForm()) {
    frm.ShowDialog(this);
}

重要:使用ShowDialog时,关闭表单不会Dispose(),因此using;见MSDN:

  

与无模式窗体不同,当用户单击对话框的关闭窗体按钮或设置DialogResult属性的值时,.NET Framework不会调用Close方法。而是隐藏表单,并且可以在不创建对话框的新实例的情况下再次显示该表单。因为显示为对话框的表单是隐藏的而不是关闭的,所以当应用程序不再需要该表单时,必须调用表单的Dispose方法。