【问题标题】:How disable the main form when I have a sub-from open [closed]当我打开一个子表单时如何禁用主表单[关闭]
【发布时间】:2014-08-03 22:41:39
【问题描述】:

我一直在寻找所有地方,但我没有找到在子表单打开时禁用主表单的代码(我可能只是措辞错误。就像你打开文件时尝试点击打开的应用程序闪烁并发出声音。

当我处于不是主要形式的第二种形式时,如何禁用应用程序?

编辑:既然每个人都在问,所以这是放置它的地方

        private void newToolStripMenuItem_Click(object sender, EventArgs e)
    {
        New_File newFile = new New_File();
        if (newFile.ShowDialog() == DialogResult.OK)
        {

        }
    }

编辑 2:用 16 秒打开文件,看起来像:

既然你拿走了我的所有代表,我必须发布一个链接http://puu.sh/aDBF4/9d7fd31926.png

我仍然不明白为什么当我没有 ShowDialog 是什么时你们仍然对我投反对票..

【问题讨论】:

  • 你没有遇到 ShowDialog?
  • 我在 C# 方面的知识有限,试图用我的技能创造一些先进的东西。所以我不知道。我通过那个 ShowDialog 只适用于 OpenFileDialog 和 SaveFileDialog。
  • 这是同一类事情。当您打开 SaveFileDialog 窗口时,您无法访问该窗口之外的任何内容,直到它被关闭。
  • 与“有限的知识”没有太大关系。只需在 Google 中输入您的问题标题,它就会为您提供答案。您真的“到处寻找”还是让别人为您做这件事更容易?
  • 试试newFile.ShowDialog(this)

标签: c# winforms monogame


【解决方案1】:

如果您想在主窗体可见但处于禁用模式时显示子窗体,只需按照以下代码:

subForm.ShowDialog(); //Shows both main and sub form , but the main form is not accessible .

但是如果你想隐藏你的主窗体,请按照这个例子:

this.Hide(); //Hides the main form.
subForm.ShowDialog(); //Shows the sub form.
this.Show(); //Shows the main form again after closing the sub form.

【讨论】:

    【解决方案2】:

    当您打开“子表单”时使用

    form1.ShowDialog();
    

    这将显示新表单,在该表单关闭之前,您将无法访问它之外的任何内容。

    【讨论】:

      【解决方案3】:

      您需要让主窗体“拥有”子窗体,modally 显示子窗体。

      【讨论】:

      • @downvoter:需要详细说明吗?
      【解决方案4】:

      Winforms:

      new Form2().ShowDialog();
      

      显示一个对话框。没什么好说的了。

      一个小技巧:

      int num = (int)new Form2().ShowDialog();
      

      这很简单,在您点击 Form2 中的按钮之前,MainForm 将无法访问。

      【讨论】:

        猜你喜欢
        • 2012-09-22
        • 1970-01-01
        • 1970-01-01
        • 2017-07-06
        • 2013-06-22
        • 2017-02-01
        • 2014-07-27
        • 1970-01-01
        • 2014-02-02
        相关资源
        最近更新 更多