【问题标题】:VS2010 designer window is executing my formVS2010 设计器窗口正在执行我的表单
【发布时间】:2014-01-04 17:36:21
【问题描述】:

我是疯了还是这是正常操作。 Visual Studio 2010 SP1。

我有一个带有几个继承类的 .NET 3.5 (C#) 基本表单。每当我在设计器视图中打开继承的表单时,它实际上开始运行我的代码......我什至没有执行或调试。

示例: 我需要我的表单来启动在 FormLoad 事件中创建的命名管道服务器。每当我在设计器视图中打开表单时,它实际上会启动管道服务器。

也许我只是不完全了解设计器视图的工作原理?

编辑:我知道它实际上正在运行,因为我正在尝试调试我的管道代码,并且每次打开设计器窗口时,它都会开始向我抛出管道异常。我还可以通过进程资源管理器看到 devenv.exe 在我不调试时正在启动我的管道实例。

【问题讨论】:

    标签: c# visual-studio-2010 designer


    【解决方案1】:

    是的,设计器实际上是在“运行”您的表单。

    如果您想避免这种情况,只需将您的关键代码放在 if 块中,如下所示:

    if(!this.DesignMode) //this is the Form
    {
    ....
    }
    

    干杯

    【讨论】:

    • 太棒了,谢谢!我启动了另一个 VS 实例并在表单构造函数中设置了一个断点。当我在设计器中打开继承的表单时,它会到达断点,但当我打开基本表单时不会。知道为什么会这样吗?
    • 并非没有获得更多详细信息。也许您想专门针对该主题打开一个单独的问题并在那里提供更多详细信息?
    猜你喜欢
    • 1970-01-01
    • 2011-04-07
    • 2011-07-25
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多