Вопрос о хорошем дизайне (.NET, System.Windows.Form.Button, C #) - PullRequest
1 голос
/ 14 марта 2011

Мне было интересно найти умный способ решить следующий сценарий:

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

Где я могу надежно хранить информацию о «персонаже» в объекте кнопки, не используя слишком много взлома?

Или .. в общем, можете ли вы показать мне несколько лучших подходов к этому?

Ответы [ 3 ]

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

Уже есть несколько экранных клавиатур для WPF, возможно, стоит взглянуть на них.Если вы не хотите использовать их напрямую, они могут, по крайней мере, указать вам направление:

http://wosk.codeplex.com/

http://wpfkb.codeplex.com/

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

Свойство Tag кнопки является хорошим местом для хранения информации.

Control.Tag Свойство через MSDN

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

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

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

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