C#WinForms-打开子窗体时无法访问主窗体 脚本

C#WinForms-打开子窗体时无法访问主窗体 脚本,c#,winforms,C#,Winforms,我有一个带有主窗体的C#WinForms应用程序。我在这个主窗体上还有一个按钮,单击该按钮时,会创建并显示一个新窗体 问题是。。。。 …新表单打开时,我无法单击主表单上的任何内容 问题 我如何解决这个问题?可以同时使用这两种形式吗 启动新表单的代码 试试frm。而不是ShowDialog。以模式对话框的形式打开新窗体,因此在关闭此窗体之前无法访问基本窗体。ShowDialog()打开模式对话框 Show()打开非模态。关闭主窗体时,与关闭应用程序一样 所以建议是,当有子窗体打开时,禁用主窗体关闭

我有一个带有主窗体的C#WinForms应用程序。我在这个主窗体上还有一个按钮,单击该按钮时,会创建并显示一个新窗体

问题是。。。。 …新表单打开时,我无法单击主表单上的任何内容

问题 我如何解决这个问题?可以同时使用这两种形式吗

启动新表单的代码 试试frm。而不是ShowDialog。以模式对话框的形式打开新窗体,因此在关闭此窗体之前无法访问基本窗体。

ShowDialog()
打开模式对话框


Show()
打开非模态。

关闭主窗体时,与关闭应用程序一样

所以建议是,当有子窗体打开时,禁用主窗体关闭按钮。。。当没有子窗体打开时再次启用它

或者创建一个全局变量(可能是bool),当子窗体打开时。。这是真的。。。所以当按下主窗体上的关闭按钮时。。。它会检查此变量是否为true,并提示保存。。否则它就会关闭

ShowDialog()以模式模式显示表单,这意味着您必须关闭新打开的表单

    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..
        } 
    } 
    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..
        } 
    }