【1】如果是模态的,那么弹出后该程序的其它窗口就呈不可用的状态,原来程序暂停执行,直到这个模态窗口关闭后才回到原来程序继续。
【2】非模态的就是直接显示出来,然后原来的程序继续执行下面的语句,而且其它窗口也呈可用状态。
模式对话框:除非采用有效的关闭手段,用户的鼠标焦点或输入光标将一直停留在其当前对话框上;
非模式对话框:不会强制模式对话框这种特性,用户可以在当前对话框及其他窗口间进行切换。
显示方式的不同:
比如现在你在菜单里面打开页面Form:
当作模式窗体打开就用:
Form frm = new Form();
frm.ShowDialog();
而当作非模式窗体打开就用:
Form frm = new Form();
frm.Show();
///【实例演示】
private void button5_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.ShowDialog();//启动模态对话框,其他窗口无法操作
}
private void button6_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show(); //启动非模态对话框
}
{
Form2 f2 = new Form2();
f2.ShowDialog();//启动模态对话框,其他窗口无法操作
}
private void button6_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show(); //启动非模态对话框
}