我有一个带有主窗体的C#WinForms应用程序。我在这个主窗体上也有一个按钮,当单击它时,会创建并显示一个新窗体。
...当新表单打开时,我无法点击主表单上的任何内容。
我该如何解决这个问题?是否可以同时使用这两种形式?
private void barBtnStatsMonitor_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
//XtraMessageBox.Show("This Feature Has Not Been Fully Implemented Yet!");
using (StatsMonitorForm frm = new StatsMonitorForm())
{
if (frm.ShowDialog() == DialogResult.OK)
{
}
}
}
答案 0 :(得分:5)
ShowDialog()
打开一个模态对话框。
Show()
打开非模态。
答案 1 :(得分:3)
尝试使用frm。Show而不是ShowDialog。 ShowDialog将新表单作为模式对话框打开,因此在关闭此表单之前无法访问该表单。
答案 2 :(得分:0)
关闭主窗体时关闭应用程序...
所以建议是,当打开子窗体时禁用主窗体关闭按钮...当没有子窗体打开时再次启用它...
或者创建一个全局变量(也许是一个bool),当一个子窗体打开时...它设置为true ...所以当按下主窗体上的关闭按钮时...它会检查这个变量是否为真它会提示保存..否则它会关闭......
答案 3 :(得分:0)
ShowDialog()以MODAL模式显示表单,这意味着您必须关闭已打开的新表单。
private void barBtnStatsMonitor_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
//XtraMessageBox.Show("This Feature Has Not Been Fully Implemented Yet!");
using (StatsMonitorForm frm = new StatsMonitorForm())
{
frm.Show();
//do some work here to get the dialog result some other way..
}
}