现在的位置: 首页 > 综合 > 正文

C# WinForm 模态对话框与非模态对话框的区别

2014年09月05日 ⁄ 综合 ⁄ 共 590字 ⁄ 字号 评论关闭

【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();
//启动非模态对话框
         
        }

抱歉!评论已关闭.