Я занимаюсь своей дипломной работой, и мне нужна небольшая помощь. До сих пор я выполнял большую часть своей работы, и теперь мне нужен кто-то, кто поможет мне с ярлыками.
Так выглядит моя работа (на данный момент):
Мне нужно сделать ярлыки для этих кнопок, чтобы пользователь не мог нажимать на кнопку с помощью мыши. Я хочу сделать так, чтобы пользователь нажал F1 на клавиатуре - он, как он нажал кнопку1 с мышью. F2 обозначает кнопку 2 и так далее. Ярлыки как CTRL+ некоторые клавиши также приемлемы. Мне нужен только пример, как сделать пару кнопок, и я сделаю другие :) Спасибо
Установите Form1 KeyPreview
-property в true
в дизайнере или в коде:
this.KeyPreview = true;
Затем добавьте KeyUp
-action в форму, которая принимает все ключи (даже Delete
т.д.):
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Delete)
{
button1ClickMethod();
}
}
Затем button1ClickMethod()
действия ваших кнопок к отдельным методам, например button1ClickMethod()
, и избегайте использования Button1_Click(null, null);
, Вызовите эту button1ClickMethod()
в KeyUp
-event, когда нужная клавиша вставлена.
Чтобы использовать комбинации, вы можете использовать это:
// If CTRL and F1 were pressed
if (e.Control && e.KeyCode == Keys.F1)
{
MessageBox.Show("Shortcut CTRL + F1 was pressed!");
}
Вы также можете проверить, было ли нажато Shift
одновременно с e.Shift
-property, так же, как и e.Control
.
Событие KeyPress поможет вам
Образец кода;
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
//Call the event according to key
// if(e.KeyChar == "")
//btnSave_Click(null,null)
}