将表单放在顶部并禁用其后的其他人

时间:2012-03-12 11:50:01

标签: c# winforms

我有一份主表格和一份其他表格。 主表格始终是开放的,有时会发布其他表格。

我试过了:

form.TopMost = true;

但这只会将表格放在首位。背后的表格(主表格)仍然可以访问。

如何获得与OpenFileDialog相同的行为,并禁用其背后的主要表单?

(提前致谢)

2 个答案:

答案 0 :(得分:5)

您需要make your form modal。为此,请使用ShowDialog代替Show来显示它(与对话框相同)。

另请注意,单击“关闭”按钮时,ShowDialog显示的表单实际上并未关闭并处理,因此您应手动处理它们。处理其生命周期的常用方法是使用using构造:

using (var form = new SomeForm())
{
    form.ShowDialog();
    // do stuff after the dialog is closed
}

答案 1 :(得分:0)

form.showdialog();其中form是要启动的顶层表单。所以在lauching顶层表单时只需添加form.showdialog()