Как различить нагрузку пользовательского элемента управления на форму и нагрузку во время выполнения - PullRequest
2 голосов
/ 23 марта 2011

Я создал пользовательский элемент управления, используя C # для приложения формы Windows.Этот пользовательский элемент управления имеет некоторые свойства.Во время выполнения, если пользователь не вводит значения для этих свойств, я хочу показать окно сообщения и выйти из приложения.

Проблема заключается в том, что я пишу проверочный код в событии Load пользовательского элемента управления.Когда я перетаскиваю его на форму, появляется окно сообщения.

private void UserControl1_Load(Object sender, EventArgs e) 
{
    if (_getFirstPageArgument==null || _getFirstPageArgument.Length==0) 
    { 
        throw new Exception("Some Message"); 
    }
}

Как я могу различить загрузку в форме и загрузку во время выполнения?

Ответы [ 3 ]

5 голосов
/ 23 марта 2011

Боюсь, здесь есть большая проблема.Но для решения вашей непосредственной проблемы (если я правильно понимаю ...) есть атрибут формы с именем DesignMode.Когда вы находитесь в режиме визуального дизайна студии, это будет true.Во время выполнения это будет false.

1 голос
/ 23 марта 2011

Для начинающих, случай @Nimas может быть хорошей отправной точкой для понимания того, что Visual Studio фактически выполняет и выполняет части нашего кода, даже когда мы находимся во время разработки, именно поэтому вызывается конструктор. Даже свойство "DesignMode" не является надежным на 100%. Вы можете найти интересную заметку, связанную с этим http://weblogs.asp.net/fmarguerie/archive/2005/03/23/395658.aspx

0 голосов
/ 23 марта 2011

Если вы хотите знать только, когда сам тип был загружен во время выполнения (не конкретный экземпляр), вы можете поместить код в статический конструктор для этого класса.

Если я неверно истолковал ваш вопрос, уточните, пожалуйста, с помощью временной шкалы, когда вы хотите, чтобы произошли конкретные события.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...