我们可以将show方法转化为showdialog方法 很是不顺手 窗口的顺序也有可能被再次打乱 一但出现问题 而且 那样我们还有花费时间寻找我们要用的窗口 我们往往不喜欢窗口之间的随意切换 比如你在浏览器点击另存为弹出的窗口就是模式窗口 但是他由于未进行绑定 它所显示的各个窗口、对话框是可以相互切换 它是当前唯一(路经打开)为true的 show()仅仅是显示出来窗口界面而已```也就是和你执行的结果在同一窗口显示```所显示的窗口可以在后台运行```而showDialog()是一个对话框窗口界面```执行结果以新窗口界面出现```不允许进行后台运行```就是你想编辑什么的时候```非得先关闭showDialog()窗口界面才可以进行其他操作``` 这就是它们的一点小区别了``` show()是非模式窗体. showDialog()是模式窗体. 区别在于 如果遇到什么问题 所以每个由show方法打开的窗口的顺序是非固定的 而不需要关闭当前窗口、对话框 如果这个时候用Show的话 你可以了解 比如你先打开子窗体 还有一个我个人使用的心得 要等窗体关闭后才能操作其他窗体.而show()则不受此限制. 这是最经常的区别了 由show方法打开的窗口的顺序可能会有很大的改变 ||| 说那么复杂一点用都没有 打开子窗体的同时主窗体又显示出来 则会发生的事情是 想隐藏主窗体 简单代码如下: Form2 f2 = new Form2(); this.Visible = false; f2.ShowDialog(); this.Visible= true; 这就是模态对话框的与Show的区别 ||| 当然有区别..show()是非模式窗体. showDialog()是模式窗体. 第二个下面的窗体是不可修改的.. ||| 简单的说就是在showDialog模式窗体下 最简单的说吧 而使用ShowDialog()的时候主要当子窗体关闭的时候主窗体才会显示 可以用来做逻辑判断 但是showdialog()是有返回值的 以showDialog()打开的窗体 面对多窗口的调用的时候 必须要关闭showDialog模式窗体之后才能对别的进行操作 不能对别的窗体进行操作 show()就是简单的窗体 而show非模式窗口则相反 而show方法由于未进行绑定 你是无法关闭该页面后面的任一页面的 当你没有关闭你当前页的前提下 就是 换言之 他是不可以自由切换的 showdialog是一个进行路经绑定的show方法 顾名思义 那么我们怎么办呢