VB.Net Winforms переменная управления пользователя - PullRequest
0 голосов
/ 15 февраля 2009

Я использую VS 2005 в приложении VB.Net WinForms. У меня есть пользовательский элемент управления, который требует, чтобы переменная правильно отображала свои данные. У меня вопрос: как лучше всего требовать, чтобы вызывающий sub заполнял переменную? Я подумал о нескольких вариантах:

  • Имеют свойство WriteOnly и проверяют, имеет ли оно значение «Ничего» при загрузке пользовательского элемента управления, и выдают исключение, если это так. Мне это не нравится, потому что ошибка возникает во время выполнения, и я хотел бы, чтобы переменная заполнялась во время разработки (например, передача параметров в подпрограмму / функцию).

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

Каковы ваши предложения по заполнению требуемой переменной, которая необходима пользовательскому элементу управления во время разработки?

Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 15 февраля 2009

Я несколько раз шел по этому пути с пользовательскими элементами управления, и я пришел к одной истине

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

Просто слишком много случаев, когда вы попадаете в эту ситуацию. Основным примером является дизайнер WinForm. Как только вы перетащите свой элемент управления на хост, WinForms создаст его экземпляр и отобразит его в процессе VS. По умолчанию он не будет передавать переменные конструктору и, следовательно, начальный рендеринг будет происходить без установки каких-либо ваших свойств.

Вы сэкономите много времени, если ваш элемент управления будет отображаться в более низком состоянии, когда свойство не установлено. Это то, сколько стандартных элементов управления работают. Обычно у меня есть элемент управления, выводящий сообщение с эффектом «Отсутствие свойства X» или просто ничего не отображающий.

0 голосов
/ 12 ноября 2009

Я бы перегружал конструктор, конструктор по умолчанию установил бы переменную в предопределенное значение по умолчанию.

0 голосов
/ 15 февраля 2009

Добавить переменную в качестве параметра ко всем открытым конструкторам для элемента управления?

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