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

时间:2016-08-02 18:11:40

标签: c# winforms

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

  

已显示的表单无法显示为模式对话框   框。在调用之前将表单的visible属性设置为false   的ShowDialog。

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

    private void disconnect_Click(object sender, EventArgs e)
    {
        ShowDialog(new ManagerWarning());
    }

2 个答案:

答案 0 :(得分:4)

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

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

private void disconnect_Click(object sender, EventArgs e)
    {
        ManagerWarning m = new ManagerWarning();
        m.ShowDialog();
    }

答案 1 :(得分:0)

我也有类似的警告,但是警告区域略有不同。

我以这种方式修复它:

if (saveDialog.ShowDialog() == DialogResult.OK)
        {
            Settings1.Default.PreviousPath = Path.GetDirectoryName(this.saveDialog.FileName);
            Settings1.Default.Save();

            // Code writing to the new file...
        }