C#子窗口的模态与非模态设置方法

avatar
作者
猴君
阅读量:0

在C#中,子窗口可以是模态(Modal)或非模态(Non-Modal)

  1. 模态子窗口:

模态子窗口会阻止用户与主窗口进行交互,直到子窗口关闭。要创建模态子窗口,请使用ShowDialog()方法。例如:

using System; using System.Windows.Forms;  namespace ModalExample {     public partial class MainForm : Form     {         public MainForm()         {             InitializeComponent();         }          private void buttonOpenChild_Click(object sender, EventArgs e)         {             ChildForm childForm = new ChildForm();             childForm.ShowDialog(this); // 显示模态子窗口         }     } } 
  1. 非模态子窗口:

非模态子窗口允许用户在子窗口打开时与主窗口进行交互。要创建非模态子窗口,请使用Show()方法。例如:

using System; using System.Windows.Forms;  namespace NonModalExample {     public partial class MainForm : Form     {         public MainForm()         {             InitializeComponent();         }          private void buttonOpenChild_Click(object sender, EventArgs e)         {             ChildForm childForm = new ChildForm();             childForm.Show(this); // 显示非模态子窗口         }     } } 

这两种方法都可以在子窗口的构造函数中传递一个IWin32Window对象,该对象表示子窗口的所有者。这样,子窗口将始终位于其所有者窗口的前面。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!