如果表单加载时满足certian条件,我有一个窗口弹出一个对话框。问题是窗口没有停留在顶部,我仍然可以单击父项上的内容。但是,窗体上有一个按钮,当按下时会打开同一个窗口,当我这样做时,它按预期工作(如对话框窗口)。
首次加载表单时是否存在显示对话框的问题?
答案 0 :(得分:2)
您是否从Form类调用ShowDialog?因为它只会在从另一个Form调用时设置父窗口。或者,您可以使用具有IWin32Window参数的重载来专门设置所有者。
答案 1 :(得分:0)
你能否进一步解释这个问题,因为这是我的代码,在对话框关闭之前,它没有显示自己的形式,无论你是否设置了父级
private void Form1_Load(object sender, EventArgs e)
{
//your functionality goes here
AboutBox1 box = new AboutBox1();
box.ShowDialog();
}
}
另一方面,您还可以查看TopMost属性
答案 2 :(得分:0)
需要从您希望成为其父/所有者的表单中调用ShowDialog方法,以使其成为该表单的模态。或者我相信你可以直接设置对话框的所有者,但我从来不需要这样做。
答案 3 :(得分:0)
DaBomb,
要执行您想要的操作,您必须从主窗体的构造函数调用模式对话框,而不是从Form_Load事件调用。
这样的事情:
public Form1()
{
InitializeComponent();
this.Show();
Form2 popupForm = new Form2();
popupForm.ShowDialog();
}