应用程序未运行时Visual Studio 2012打开表单

时间:2013-01-11 10:16:25

标签: c# winforms visual-studio-2012

我对VS 2012有一个非常奇怪的问题。当在winform应用程序的设计时间如果我打开一个特定的表单时,登录表单出现在屏幕上,而不是在设计器中,但好像应用程序已经启动。

我可以在设计时打开登录表单 The login form in design time

但是当我打开另一个名为Print的表单时,会发生enter image description here

很明显,我试图打开的表单没有在设计器中打开,而应用程序似乎已经启动了。如果我通过关闭它与表单交互,那么visual studio会崩溃。同样在任务管理器中,该过程是Devenv.exe。

我试过清除obj和bin文件夹没有运气。

2 个答案:

答案 0 :(得分:1)

如果您在第二种形式的_Load - 方法中有一些初始值设定项,例如要求登录,则该事物将被执行。

您可以在2.表单的'_Load'中检查以下3个点,如果发生任何问题,请不要执行'_Load'中的代码。

this.GetService(typeof(IDesignerHost)) !=null

System.ComponentModel.LicenseManager.UsageMode == System.ComponentModel.LicenseUsageMode.Designtime

System.Diagnostics.Process.GetCurrentProcess().ProcessName == "devenv"

答案 1 :(得分:0)

如果您不想要任何代码更改或进程名称检查,只需将GUI相关代码从构造函数移动到Form Shown Event处理程序。