Запустите другой код в дизайнере VS - PullRequest
0 голосов
/ 09 января 2012

У меня есть класс, который наследует Windows Forms Combobox. Класс должен выполнять дополнительную работу при добавлении элементов, но такого события нет. Поэтому я добавил методы для добавления и очистки элементов, которые выполняют дополнительную работу. Чтобы разработчики не обращались к элементам напрямую и не добавляли их, я перегрузил свойство Items, чтобы вызвать исключение.

Это все отлично работает, кроме как в конструкторе VS. Дизайнер пытается получить доступ к свойству Items, получает исключение и выдает ошибку.

Существует ли определенная константа для случая, когда разработчик VS компилирует код? Похоже, это лучше всего подходит для этой задачи.

1 Ответ

1 голос
/ 09 января 2012

Вы ищете Control.DesignMode недвижимость? Честно говоря, с точки зрения дизайна не очень хорошо иметь подкласс ComboBox, который нельзя использовать как обычный ComboBox ... и если вы действительно просто скрытый (или затемнение) свойства Items с другим, тогда любой, кто ссылается на него как a ComboBox, в любом случае будет иметь доступ к исходному свойству Items. Неясно, что вы действительно пытаетесь сделать здесь.

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