我是疯了还是这是正常的操作。 Visual Studio 2010 SP1。
我有一个.NET 3.5(C#)基本表单,其中包含一些继承的类。每当我在设计器视图中打开继承的表单时,它实际上开始运行我的代码......我甚至没有执行或调试。
实施例: 我需要我的表单来启动一个在FormLoad事件中创建的命名管道服务器。每当我在设计器视图中打开表单时,它实际上都会启动管道服务器。
也许我只是不完全理解设计师的观点是如何运作的?
编辑:我知道它实际上正在运行,因为我正在尝试调试我的管道代码,每次打开设计器窗口时,它都会开始向我抛出管道异常。我还可以通过进程资源管理器看到,当我没有调试时,devenv.exe正在启动我的管道实例。
答案 0 :(得分:1)
是的,设计师实际上正在“运行”您的表单。
如果你想避免这种情况,只需将你的关键代码放在if块中,如下所示:
if(!this.DesignMode) //this is the Form
{
....
}
干杯