Какое событие я должен обработать для выполнения кода, когда приложение WinForms переключается из режима Run в режим Design - PullRequest
2 голосов
/ 20 апреля 2010

Я запускаю приложение Windows Form, и мне нужно выполнить фрагмент кода, когда я переключаюсь в режим разработки. У меня есть обработчик для события отладчика OnEnterDesignMode, и это срабатывает, если я отлаживаю приложение, а затем переключаюсь в режим разработки. Тем не менее, это не сработает, если я сначала начну без отладки, а затем переключиться в режим разработки. Какое событие мне нужно обработать для того, чтобы определенный код выполнялся при переключении из режима Run в режим Design?

Ответы [ 3 ]

0 голосов
/ 17 мая 2010

Не уверен насчет события, но в форме окна есть свойство bool DesignMode, вероятно, унаследованное от Control, которое возвращает true, если форма открыта в конструкторе. Однако будьте осторожны, так как DesignMode возвращает false в конструкторе даже в режиме разработки. Поэтому всегда используйте его в чем-то вроде события load, а не в конструкторе.

0 голосов
/ 18 мая 2010

Попробуйте 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
0 голосов
/ 10 мая 2010

Вы имеете в виду режим выпуска и режим отладки?

Если это так, вы можете обернуть свой код следующим образом:

#if DEBUG
            //Execute debug mode code
#else
            //execute release mode code
#endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...