日期:2014-05-19  浏览次数:20691 次

Application.Run() 和 System.Windows.Forms.Form.ShowDialog() 方法的区别
原文参见这里:
http://blog.csdn.net/vividboy/archive/2007/01/15/1483974.aspx

我看了这篇文章后,也做了测试。如果我们这样用:

frmLogin   f_Login   =   new   frmLogin();
f_Login.ShowDialog();

发现和下面这样用是一样的:
Application.Run(new   frmLogin());

都会正常显示窗口。那么我也想知道这两者的区别在哪儿?我想如果我们采用方法一,即:Form.ShowDialog(),而不采用Application.Run,会存在哪些问题?谢谢!

------解决方案--------------------
再添加一个窗体就能看出来了
------解决方案--------------------
ShowDialog();是模式窗体,此时的操作只能再创建模式窗体

Application.Run(new frmLogin());是创建一个消息循环
此时的操作可以创建子窗体和模式窗体

我的理解应该是这样
------解决方案--------------------
日落雁行斜说的很对了