好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

show与showdialog区别在哪里

Show和ShowDialog有什么不同呢,区别在哪里?什么时候用Show,什么时候用ShowDialog呢?相信看玩这篇,你会有一个比较明确的答案。

说到show跟ShowDialog的区别很多人会想到的是,他们一个是非模态一个是模态,模态窗体就是必须将其关闭(cCose)或隐藏(Hide)才能对其他窗体进行操作。这只是他们之间表面上的区别,他们真正的区别不仅仅局限于此。

show和showdialog的本质区别有两个方面:一个是代码执行上的区别;一个是自身的机制不同。

首先是代码执行上的区别

这个区别比较容易发现,Show方法的调用会立即返回,新窗体显示的同时Show方法调用语句后面的代码会得到执行;而对ShowDialog方法的调用会被阻塞,直到新窗体关闭,ShowDialog方法调用语句后面的代码才能得到执行。

其次是自身机制的区别

不知道大家有没有注意到这一点,当有两个窗体时,单击模态显示窗体2,并在其文本框内输入一些内容,然后点击右上角的“x”之后再次点击窗体1中的模态显示窗体2,这个时候你会发现文本框里的文字依然存在,这是问什么呢?因为此时窗体2并没有Close,而只是Hide(不太确定此时是不是跟Hide一样)。如果想要再次点击模态显示出现一个新的窗体2,那么只需在窗体2的Closing或者Closed事件里写上Me.Dispose()即可。


查看更多关于show与showdialog区别在哪里的详细内容...

  阅读:57次