Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / C#: Отделить буквенно-цифровые клавиши от управляющих / 14 сообщений из 14, страница 1 из 1
13.03.2013, 11:35
    #38182745
ValGer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#: Отделить буквенно-цифровые клавиши от управляющих
Имеется-ли в шарпе возможность обобщённого отделения буквенно-цифровых (в том числе и кириллицы) от управляющих клавиш типа Control, Alt, F1 – F12 и тому подобное? Имеется в виду что-нибудь типа структуры, нумератора и т.п. Если это есть, то, как называется? «Выгрызать» каждую клавишу по отдельности как-то тоскливо.
if ((e.KeyCode == Keys.ShiftKey) || (e.KeyCode == Keys.Alt)
|| (e.KeyCode.ToString() == "ControlKey"))

Причём в случае Alt и Control это вообще не работает. Имеются коды Control и ControlKey, LControlKey, Alt и Menu и тому подобное.

А хочется:

ЕСЛИ клавиша принадлежит группе буквенно-цифровых ТО
Делай то-то и то-то
ИНАЧЕ ЕСЛИ клавиша принадлежит группе управляющих ТО
Делай что-то другое
...
Рейтинг: 0 / 0
14.03.2013, 02:20
    #38183100
mccc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#: Отделить буквенно-цифровые клавиши от управляющих
А хочется:
[quot ValGer]Имеется-ли в шарпе возможность обобщённого отделения буквенно-цифровых (в том числе и кириллицы) от управляющих клавиш типа Control, Alt, F1 – F12 и тому подобное? Имеется в виду что-нибудь типа структуры, нумератора и т.п. Если это есть, то, как называется? «Выгрызать» каждую клавишу по отдельности как-то тоскливо.
if ((e.KeyCode == Keys.ShiftKey) || (e.KeyCode == Keys.Alt)
|| (e.KeyCode.ToString() == "ControlKey"))

Причём в случае Alt и Control это вообще не работает. Имеются коды Control и ControlKey, LControlKey, Alt и Menu и тому подобное.

А хочется:

ЕСЛИ клавиша принадлежит группе буквенно-цифровых ТО
Делай то-то и то-то
ИНАЧЕ ЕСЛИ клавиша принадлежит группе управляющих ТО
Делай что-то другое

для этого, надо иметь "жажду", как оно устроено...
не только, препод, книги.
...
Рейтинг: 0 / 0
14.03.2013, 02:25
    #38183101
mccc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#: Отделить буквенно-цифровые клавиши от управляющих
debag, {не знаю, во всех ли языках есть}, поможет. есно имея представление - что, куда, и что ждешь
debag - отличный учитель,
...
Рейтинг: 0 / 0
14.03.2013, 02:36
    #38183104
mccc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#: Отделить буквенно-цифровые клавиши от управляющих
насамый конец, SoftICE
...
Рейтинг: 0 / 0
14.03.2013, 11:03
    #38183401
Демон Максвелла
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#: Отделить буквенно-цифровые клавиши от управляющих
ValGer,

может проще заюзать e.KeyChar и Regex?
...
Рейтинг: 0 / 0
14.03.2013, 13:16
    #38183715
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#: Отделить буквенно-цифровые клавиши от управляющих
...
Рейтинг: 0 / 0
14.03.2013, 18:05
    #38184455
ValGer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#: Отделить буквенно-цифровые клавиши от управляющих
Демон МаксвеллаValGer,

может проще заюзать e.KeyChar и Regex?

Хорошая идея! Я об этом как-то не подумал - спасибо!
...
Рейтинг: 0 / 0
14.03.2013, 18:17
    #38184481
ValGer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#: Отделить буквенно-цифровые клавиши от управляющих
eNoseValGer,

http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731%28v=vs.85%29.aspx

Спасибо, но это приводит к тому же "забору" switch - case, который я уже построил:

int _keyCode = Convert.ToInt32(e.KeyValue);
// Игнорируем нажатие на управляющие клавишы Alt, Ctrl, Shift и прочее
switch (_keyCode)
{
case 16:
case 17:
case 18:
case 19:
case 20:
e.SuppressKeyPress = true;
break;
case 33:
case 34:
case 35:
case 36:
case 37:
case 38:
case 39:
case 40:
e.SuppressKeyPress = true;
break;
..................................................................................
и та далее...
...
Рейтинг: 0 / 0
15.03.2013, 03:00
    #38184911
ДохтаР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#: Отделить буквенно-цифровые клавиши от управляющих
...
Рейтинг: 0 / 0
15.03.2013, 08:28
    #38185004
sld
sld
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#: Отделить буквенно-цифровые клавиши от управляющих
сделать отдельные массивы с кодами клавиш цифровых буквенных и т.д.
и проверять код текущей клавиши на вхождение в соответствующий массив.
...
Рейтинг: 0 / 0
15.03.2013, 10:12
    #38185117
sasdfasf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#: Отделить буквенно-цифровые клавиши от управляющих
...
Рейтинг: 0 / 0
15.03.2013, 13:44
    #38185561
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#: Отделить буквенно-цифровые клавиши от управляющих
sldсделать отдельные массивы с кодами клавиш цифровых буквенных и т.д.
и проверять код текущей клавиши на вхождение в соответствующий массив.+1
...
Рейтинг: 0 / 0
15.03.2013, 13:48
    #38185572
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#: Отделить буквенно-цифровые клавиши от управляющих
Только не массив а Hashtable к примеру.
...
Рейтинг: 0 / 0
17.03.2013, 09:48
    #38187066
ValGer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C#: Отделить буквенно-цифровые клавиши от управляющих
sasdfasfValGer,

http://msdn.microsoft.com/en-us/library/system.windows.forms.keys.aspx
Modifiers, не?

Вот, вот!!! Это-то как раз я и искал - спасибо!
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / C#: Отделить буквенно-цифровые клавиши от управляющих / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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