我对VS 2012有一个非常奇怪的问题。当在winform应用程序的设计时间如果我打开一个特定的表单时,登录表单出现在屏幕上,而不是在设计器中,但好像应用程序已经启动。
我可以在设计时打开登录表单
但是当我打开另一个名为Print的表单时,会发生
很明显,我试图打开的表单没有在设计器中打开,而应用程序似乎已经启动了。如果我通过关闭它与表单交互,那么visual studio会崩溃。同样在任务管理器中,该过程是Devenv.exe。
我试过清除obj和bin文件夹没有运气。
答案 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处理程序。