0

我有一个“主要”形式(form1)。在该表单中,我成功打开了另一个表单 ( form2) - 但是 - 当该表单打开时,您仍然可以控制基础表单 ( form1)。

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

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

所以我的问题基本上是:我怎样才能获得相同的焦点/等效果。在表单上 - 在 Save/OpenDialog 上是怎样的?

谢谢,

〜Tgys

4

1 回答 1

5

打开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";
   }
于 2012-05-28T08:00:22.250 回答