如果第二个表单打开,如何禁用第一个表单?

use*_*043 2 c# winforms

我使用此代码从当前表单打开一个新表单:

 private void add_Click(object sender, EventArgs e)
 {
      add obj = new add();
      obj.Show();
 }

 private void welcome_FormClosed(object sender, FormClosedEventArgs e)
 {
      Application.Exit();
 }

 private void view_Click(object sender, EventArgs e)
 {
      view obj = new view();
      obj.Show();
 }

 private void update_Click(object sender, EventArgs e)
 {
      update obj = new update();
      obj.Show();
 }

 private void delete_Click(object sender, EventArgs e)
 {
      delete obj = new delete();
      obj.Show();
 }
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果我打开任何表格,那么以前的表格也照常工作。我希望如果一个表单处于打开状态,那么所有其他以前的表单都会被关闭或禁用,并且在上一个按钮的单击事件中听起来像蜂鸣声。

小智 5

你必须使用ShowDialog而不是Show

显示对话框():

打开一个窗口并仅在新打开的窗口关闭时返回。

展示():

打开一个窗口并返回而不等待新打开的窗口关闭。