如何在显示弹出式表单时禁用表单

本文关键字:表单 弹出式 显示 | 更新日期: 2023-09-27 18:35:27

我有一个"main"形式(form1)。在该表单中,我成功地打开了另一个表单(form2) - 但是 - 当该表单打开时,您仍然可以控制底层表单(form1)。

我不希望用户能够这样做,每当他尝试单击它或其他东西时,弹出的表单(form2)应该获得焦点/闪烁一点,并带有一些默认的Windows声音。我刚刚描述了如果弹出窗口是FileSave/OpenDialog,它是如何工作的。这些对话框完全按照我希望它们的工作方式工作。

我尝试设置form2.Owner = form1;但没有产生预期的效果。

所以我的问题基本上是:我如何在表单上获得相同的焦点/等效果 - 就像它在 Save/OpenDialog 上一样?

谢谢

~ 特吉斯

如何在显示弹出式表单时禁用表单

要打开form2,请使用form2.ShowDialog()

form1课堂上

form2 form2Object = new form2();
form2.ShowDialog(this);

这样,form1 将保留在后台并且不可单击,直到显示 form2。如果需要,还可以从 form2 返回对话框结果。来自 MSDN 的代码。

  Form2 testDialog = new Form2();
   // Show testDialog as a modal dialog and determine if DialogResult = OK.
   if (testDialog.ShowDialog(this) == DialogResult.OK)
   {
      // Read the contents of testDialog's TextBox.
      this.txtResult.Text = testDialog.TextBox1.Text;
   }
   else
   {
      this.txtResult.Text = "Cancelled";
   }