Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Перехватка клавиатурных событий формой / 3 сообщений из 3, страница 1 из 1
19.09.2003, 15:53
    #32270493
D_Grot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехватка клавиатурных событий формой
Уважаемый All!

Не сталкивался ли кто с проблемой, подобной моей (VS.NET 1.0, C#):

Есть виндоуз-форма, на которой панель с рисунком и два скроллбара.
Рисунок представляет собой таблицу с начинкой, по ячейкам таблицы передвигаемся посредством события KeyDown, перехватываемого формой.

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

Изначально текстбокс невидим, визуализируется двойным кликом на соответствующей ячейке. После ввода в него текста и нажатия Escape содержимое текстбокса переносится в ячейку таблицы, а сам текстбокс скрывается.

Но после этого никаким образом не удается вернуть фокус форме, чтобы она реагировала на событие KeyDown, скотина. this.Focus(), вроде ее активизирует, судя по значению this.Focused в QuickWatch'е, но событие не вызывается, а реагировать начинают скроллбары, хотя их никто не просит.

Куда копать, может кто знает?
...
Рейтинг: 0 / 0
22.10.2003, 17:13
    #32301958
int33h
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехватка клавиатурных событий формой
A ne proboval vmesto Esc ispolizovati druguiu knopku(tipa F1)
...
Рейтинг: 0 / 0
22.10.2003, 18:24
    #32302101
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перехватка клавиатурных событий формой
Дело в следующем, насколько я помню, форма имеющая контролы НЕ МОЖЕТ получить фокус, в этом и есть твоя проблема, пока контрола небыло - все путем, он появился - срабатывает чего то и фокуса нет. Обьяснения этому(разумного) я не нашел. MSDN говорит "Нельзя значит нельзя." Т.е. она может быть активна но уже без фокуса.
Вариант:
Для ввода текста использовать InputBox или другую форму. Можно также попытаться насильно передать ей фокус через SetFocus, но не уверен сработает ли.


Magnus
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Перехватка клавиатурных событий формой / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]