Свойства расширения времени разработки в Winforms - PullRequest
1 голос
/ 16 января 2012

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

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

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

1 Ответ

2 голосов
/ 16 января 2012

Да, дизайнер поддерживает это. Хорошими примерами существующих компонентов, которые делают это, являются ErrorProvider и HelpProvider. Обратите внимание, как они добавляют свойства к существующим типам элементов управления.

Вы захотите реализовать свой собственный компонент, для этого необходимо реализовать интерфейс IExtenderProvider. В статье MSDN Library есть хороший пример, который должен помочь вам сделать все правильно.

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