C#“已经可见的表单无法显示为模式对话框。在调用 showDialog 之前将表单的visible 属性设置为 false。”

Dav*_*ley 2 c# winforms

这是我在表单中的代码。该函数应该打开我创建的另一个表单作为对话框,但我不断收到错误:

已经可见的表单无法显示为模式对话框。在调用 showDialog 之前将窗体的visible 属性设置为 false。

我已经查看了所有表单属性,但无法在任何地方找到它。我缺少什么?使用 Visual Studio 2015 和带有 .net 4 的 winforms 应用程序

    private void disconnect_Click(object sender, EventArgs e)
    {
        ShowDialog(new ManagerWarning());
    }
Run Code Online (Sandbox Code Playgroud)

Mos*_*fiz 6

您实际上是在尝试使用 as 参数调用ShowDialog当前视图的方法new ManagerWarning()(实际上,尝试将当前视图作为模式打开,以新表单作为父级)。

创建表单实例ManagerWarning并尝试以这种方式运行

private void disconnect_Click(object sender, EventArgs e)
    {
        ManagerWarning m = new ManagerWarning();
        m.ShowDialog();
    }
Run Code Online (Sandbox Code Playgroud)