showdialog()与show的区别

showdialog就是显示有模式的窗体,showdialog后面的语句不会执行,直到显示的窗体被关闭。 show就是无模式的窗体,显示窗体后不论窗体是否关闭都执行show后面的语句。

-------------------------------------------------------------------------------------------------------------

面对多窗口的调用的时候,我们往往不喜欢窗口之间的随意切换,那样我们还有花费时间寻找我们要用的窗口,而且,一但出现问题,窗口的顺序也有可能被再次打乱,很是不顺手,那么我们怎么办呢? 我们可以将show方法转化为showdialog方法,顾名思义,showdialog是一个进行路经绑定的show方法,他是不可以自由切换的,换言之,就是,当你没有关闭你当前页的前提下,你是无法关闭该页面后面的任一页面的,它是当前唯一(路经打开)为true的。 而show方法由于未进行绑定,它所显示的各个窗口、对话框是可以相互切换,而不需要关闭当前窗口、对话框。但是他由于未进行绑定,所以每个由show方法打开的窗口的顺序是非固定的,如果遇到什么问题,由show方法打开的窗口的顺序可能会有很大的改变!
show()仅仅是显示出来窗口界面而已,也就是和你执行的结果在同一窗口显示,所显示的窗口可以在后台运行,而showDialog()是一个对话框窗口界面,执行结果以新窗口界面出现,不允许进行后台运行,就是你想编辑什么的时候,非得先关闭showDialog()窗口界面才可以进行其他操作.
show()是非模式窗体. showDialog()是模式窗体. 区别在于,以showDialog()打开的窗体,要等窗体关闭后才能操作其他窗体.而show()则不受此限制.
这是最经常的区别了, 还有一个我个人使用的心得,你可以了解
比如你先打开子窗体,想隐藏主窗体。 如果这个时候用Show的话,则会发生的事情是,打开子窗体的同时主窗体又显示出来,而使用ShowDialog()的时候主要当子窗体关闭的时候主窗体才会显示。

举个简单的例子,代码如下:

Form2 f2 = new Form2();

this.Visible = false;

f2.ShowDialog();

this.Visible= true;

这就是模态对话框的与Show的区别。

时间: 2024-08-04 02:43:58

showdialog()与show的区别的相关文章

winform 中show()函数和showdialog()函数区别

show()函数和showdialog()函数都是窗体弹出函数,我们平常都不会太在意这两个函数,但是show()和showdialog()函数区别是有的: 主要区别在于,show()函数不会在意弹出窗体和父窗体,它默认将两者看成一级.换句话说,就是弹出窗体和父窗体可以相互切换.而showdialog()函数是单一使用窗体函数,也就是说,弹出窗体需关闭后,才能使用父窗体,弹出窗体是置顶的.

MessageBox.Show()用法以及与ShowDialog方法的区别

1.MessageBox.Show("Hello,World"); 2.MessageBox.Show("have something Wrong", "ERROR"); 3.MessageBox.Show("是否删除", "确认认证", MessageBoxButtons.YesNo); 4.MessageBox.Show("是否删除", "确认认证", Messa

WindowsForm多窗体、多窗体传值、控件数据绑定--2016年12月8日

多窗体 Show Form1 f1 = new Form1(); f1.Show(); ShowDialog--在父窗体之上 Form1 f1 = new Form1(); f1.ShowDialog(); 2者具体区别如下:  1.在调用Form.Show方法后,Show方法后面的代码会立即执行  2.在调用Form.ShowDialog方法后,直到关闭对话框后,才执行此方法后面的代码  3.当窗体显示为模式窗体时,单击“关闭”按钮会隐藏窗体,并将DialogResult属性设置为Dialog

C# show和showdialog区别

在C#中窗口的显示有两种方式:模态显示(showdialog)和非模态显示(show). 区别: 模态与非模态窗体的主要区别是窗体显示的时候是否可以操作其他窗体.模态窗体不允许操作其他窗体,非模态窗体可以操作其他窗体. 模态显示后,弹出窗口阻止调用窗口的所有消息响应.只有在弹出窗口结束后调用窗口才能继续.在模态窗口"关闭"后,可以读取模态窗口中信息,包括窗口的返回状态,窗口子控件的值. 在调用Form.ShowDialog方法后,直到关闭对话框后,才执行此方法后面的代码 窗体显示为模式

show()与showDialog()的区别

A.WinForm中窗体显示  显示窗体可以有以下2种方法:  Form.ShowDialog方法 (窗体显示为模式窗体) Form.Show方法 (窗体显示为无模式窗体) 2者具体区别如下: 1.在调用Form.Show方法后,Show方法后面的代码会立即执行 2.在调用Form.ShowDialog方法后,直到关闭对话框后,才执行此方法后面的代码 3.当窗体显示为模式窗体时,单击“关闭”按钮会隐藏窗体,并将DialogResult属性设置为DialogResult.Cancel 与无模式窗体

C# 非模式窗体show()和模式窗体showdialog()的区别(转)

对话框不是模式就是无模式的.模式对话框,在可以继续操作应用程序的其他部分之前,必须被关闭(隐藏或卸载).例如,如果一个对话框,在可以切换到其它窗 体或对话框之前要求先单击“确定”或“取消”,则它就是模式的. 一.如何调用 任何窗体(派生于基类Form的类),都可以以两种方式进行显示. //非模式窗体 From qform=new Form(); qform.Show(); //模式窗体 Form qform=new Form(); qform.ShowDialog(); 一.控制权上的区别 Fo

C#中方法Show.和ShowDialog的使用区别

show()是非模式窗体. showDialog()是模式窗体. 如果这个时候用Show的话,则会发生的事情是,打开子窗体的同时主窗体又显示出来,而使用ShowDialog()的时候主要当子窗体关闭的时候主窗体才会显示.我们可以将show方法转化为showdialog方法,顾名思义,showdialog是一个进行路经绑定的show方法,他是不可以自由切换的,换言之,就是,当你没有关闭你当前页的前提下,你是无法关闭该页面后面的任一页面的,它是当前唯一(路经打开)为true的.而show方法由于未进

Show()和ShowDialog()的区别?

show()仅仅是显示出来窗口界面而已```也就是和你执行的结果在同一窗口显示```所显示的窗口可以在后台运行``` 而showDialog()是一个对话框窗口界面```执行结果以新窗口界面出现```不允许进行后台运行``` 就是你想编辑什么的时候```非得先关闭showDialog()窗口界面才可以进行其他操作

Form.Show()与Form.ShowDialog()的区别

一 基本概念 首先,窗体和对话框的显示有两种方式:有模式&无模式. 有模式:显示重要消息的对话框应始终是有模式的,"模式"窗体或对话框必须关闭或隐藏,然后您才能继续使用应用程序的其余部分,例如 MessageBox 就是一个可供使用的有模式的窗体. 无模式:"无模式"窗体让您在此窗体与另一窗体之间变换焦点,而不必关闭初始窗体.用户在该窗体显示的同时可继续在任何应用程序的其他位置工作. 二 实现 1.将窗体显示为有模式对话框: Form.ShowDialog(