Страница: 1 |
Страница: 1 |
Вопрос: Control
Добавлено: 27.10.08 15:01
Автор вопроса: fluke | ICQ: 318170731
Необходимо реализовать свой элемент управления. Его отрисовка реализована. Элемент не является контейнером. В качестве родительского класса взят System.Windows.Forms.Control. Как обрабатывать фокус для этого элемента?
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #1
Добавлено: 27.10.08 18:40
Ну а в чем проблема? Если ты отрисовку делаешь сам, то что мешает тебе в Paint проверить свойство Focused, и если фокус у твоего контрола то отрисовать какую нибудь рамку для него. Плюс подписаться на события GotFocus, LostFocus и т.д. и там вызвать Invalidate чтоб заставить контрол перерисоваться.. Если эти события отрабатывать не будут, то в конструкторе(ВАЖНО!! ДО ИНИЦИАЛИЗАЦИИ КОНТРОЛА!!!!) вызывай SetStyle с параметром Selectable,затем UpdateStyle.. вот как то так давно я уже контролы не делал..
Номер ответа: 2
Автор ответа:
fluke
ICQ: 318170731
Вопросов: 15
Ответов: 96
Профиль | | #2
Добавлено: 28.10.08 10:37
ну допустим у меня на форме мой UserControl1 и стандартный TextBox, UserControl1 получает фокус, так как обрабатывает нажатие клавиш, но не всех, например при нажатии стрелок, он теряет фокус и активным становиться TextBox