当WinForms应用程序从运行模式切换到设计模式时,我应该处理什么事件来执行代码

时间:2010-04-20 19:06:47

标签: c# .net winforms

我正在运行Windows表单应用程序,当我切换到设计模式时,我需要执行一段代码。我有一个OnEnterDesignMode调试器事件的处理程序,如果我正在调试应用程序然后切换到设计模式,这将被命中。但是,如果我最初在没有调试的情况下启动然后切换到设计模式,则不会受到影响。在从运行模式切换到设计模式时,为了执行某些代码,我需要处理什么事件?

3 个答案:

答案 0 :(得分:0)

您指的是发布模式和调试模式吗?

如果是这样,您可以按如下方式包装代码:

#if DEBUG
            //Execute debug mode code
#else
            //execute release mode code
#endif

答案 1 :(得分:0)

对事件不确定,但在Windows窗体上有一个DesignMode bool属性,可能是从Control继承的,如果在设计器中打开窗体,则返回true。请注意,因为即使在设计模式下,DesignMode在构造函数中返回false。所以总是在load事件中使用它,而不是在构造函数中使用它。

答案 2 :(得分:0)

在控件中尝试Component.DesignMode。见MSDN

VB.net示例

 Private Sub txtSmartDate_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtSmartDate.TextChanged
    If Not Me.DesignMode Then
        If _ValueInitialised And Not _SuppressEventCode Then
            '   Apply the changes to the property value, now the text box has been updated.
            Call SetPropertyValues()
            Call ApplyDateFormating()
        End If
    End If
End Sub