Как сделать сочетания клавиш для нажатия кнопки

1

Я занимаюсь своей дипломной работой, и мне нужна небольшая помощь. До сих пор я выполнял большую часть своей работы, и теперь мне нужен кто-то, кто поможет мне с ярлыками.

Так выглядит моя работа (на данный момент): Изображение 174551

Мне нужно сделать ярлыки для этих кнопок, чтобы пользователь не мог нажимать на кнопку с помощью мыши. Я хочу сделать так, чтобы пользователь нажал F1 на клавиатуре - он, как он нажал кнопку1 с мышью. F2 обозначает кнопку 2 и так далее. Ярлыки как CTRL+ некоторые клавиши также приемлемы. Мне нужен только пример, как сделать пару кнопок, и я сделаю другие :) Спасибо

Теги:
button
onkeypress

2 ответа

0

Установите 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.

-1

Событие KeyPress поможет вам

Образец кода;

private void Form1_KeyPress(object sender, KeyPressEventArgs e)
    {
        //Call the event according to key
        // if(e.KeyChar == "")
        //btnSave_Click(null,null)
    }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню