powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / C#: Отделить буквенно-цифровые клавиши от управляющих
14 сообщений из 14, страница 1 из 1
C#: Отделить буквенно-цифровые клавиши от управляющих
    #38182745
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
C#: Отделить буквенно-цифровые клавиши от управляющих
    #38183100
Фотография mccc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А хочется:
[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
C#: Отделить буквенно-цифровые клавиши от управляющих
    #38183101
Фотография mccc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
debag, {не знаю, во всех ли языках есть}, поможет. есно имея представление - что, куда, и что ждешь
debag - отличный учитель,
...
Рейтинг: 0 / 0
C#: Отделить буквенно-цифровые клавиши от управляющих
    #38183104
Фотография mccc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
насамый конец, SoftICE
...
Рейтинг: 0 / 0
C#: Отделить буквенно-цифровые клавиши от управляющих
    #38183401
Фотография Демон Максвелла
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValGer,

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

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

Хорошая идея! Я об этом как-то не подумал - спасибо!
...
Рейтинг: 0 / 0
C#: Отделить буквенно-цифровые клавиши от управляющих
    #38184481
ValGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
C#: Отделить буквенно-цифровые клавиши от управляющих
    #38184911
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
C#: Отделить буквенно-цифровые клавиши от управляющих
    #38185004
sld
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sld
Гость
сделать отдельные массивы с кодами клавиш цифровых буквенных и т.д.
и проверять код текущей клавиши на вхождение в соответствующий массив.
...
Рейтинг: 0 / 0
C#: Отделить буквенно-цифровые клавиши от управляющих
    #38185117
sasdfasf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
C#: Отделить буквенно-цифровые клавиши от управляющих
    #38185561
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sldсделать отдельные массивы с кодами клавиш цифровых буквенных и т.д.
и проверять код текущей клавиши на вхождение в соответствующий массив.+1
...
Рейтинг: 0 / 0
C#: Отделить буквенно-цифровые клавиши от управляющих
    #38185572
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только не массив а Hashtable к примеру.
...
Рейтинг: 0 / 0
C#: Отделить буквенно-цифровые клавиши от управляющих
    #38187066
ValGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sasdfasfValGer,

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

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


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