У меня есть некоторые вопросы относительно использования клавиши Alt в C#.C# Alt Основные проблемы
Вот мой код:
switch (e.KeyCode)
{
case Keys.Menu:
((do something))
break;
}
Если я правильно понимаю, Keys.Alt используется для комбинаций клавиш, в то время как Keys.Menu используется для обнаружения простых нажатий на клавиши Alt. Я не собираюсь комбинировать ключи, поэтому я использую Keys.Menu. Мне кажется странным, что для Shift существует Keys.ShiftKey, но для Alt он называется Keys.Menu. Почему бы просто не назвать его Keys.AltKey? Смешение!
В любом случае, код работает правильно. Однако, по-видимому, функция Alt используется по умолчанию. Например, когда я печатаю что-то в документе или что-то еще, и я нажимаю Alt, курсор точки вставки исчезает, как если бы текущее окно или задача были отменены.
Эта функция по умолчанию клавиши Alt проблематично моей программе, поэтому я сделал некоторый поиск и нашел следующий код для того, чтобы вывести его из строя:
protected override bool ProcessDialogKey(Keys keyData)
{
if ((keyData & Keys.Alt) == Keys.Alt)
return true;
else
return base.ProcessDialogKey(keyData);
}
С помощью этого кода положить в, Альт функция по умолчанию ключа отключена. Однако кажется, что клавиша Alt также стала полностью нефункциональной и больше не выполняет задачу ((что-то делать)), как я ее запрограммировал.
Есть ли способ отключить функцию по умолчанию клавиши Alt, не вызывая ее превращения в нерабочий ключ?
Да, клавиша Alt имеет одну специальную функцию. Он используется для барабанной перемотки, активирует меню программы. Ну, это отвечает на один вопрос, а другой невозможно перепроектировать, когда вы не говорите нам, что делать «что-то». –