【问题标题】:How do I make a form modal in Windows Forms?如何在 Windows 窗体中制作窗体模式?
【发布时间】:2011-01-30 23:28:31
【问题描述】:

我正在尝试创建一个子表单,以帮助用户为父表单中的字段输入数据。我希望这个子表单是模态的,但是我需要做什么才能使这个表单成为模态?

我需要使用其他类型的物品吗?

【问题讨论】:

    标签: c# .net vb.net winforms


    【解决方案1】:

    使用Form.ShowDialog()

    正如 Bob 所说,您应该在模态表单上相应地设置 Form.DialogResult

    【讨论】:

    • 不要忘记在表单的按钮上设置DialogResult
    • 有没有办法做到这一点而不阻塞?我想制作对话框模式,但我仍然想在我的代码中向它发送信息......但如果它被阻塞,我不能。
    • @NielW 你应该发布一个关于这个的问题
    【解决方案2】:

    在显示子窗体时使用ShowDialog() 方法而不是Show()

    【讨论】:

      【解决方案3】:
      Form f = new Form();
      f.ShowDialog(this);
      

      【讨论】:

        【解决方案4】:

        调用 ShowDialog 方法。

        Form f = new Form();
        f.ShowDialog(this);
        

        更多信息请点击这里 https://msdn.microsoft.com/en-us/library/aa984358(v=vs.71).aspx

        【讨论】:

          【解决方案5】:

          关闭模态表单后,释放资源

          using (Form form = new Form())
          {
            form.ShowDialog(this);
          } // Dispose form
          

          using 语句可确保调用 Dispose,即使在 using 块内发生异常也是如此。

          更多using statement (C# Reference)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-10-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多