Как переназначить клавиши клавиатуры - PullRequest
0 голосов
/ 16 февраля 2012

Я пытаюсь создать приложение, которое изменяет значение нажатой кнопки.Пример: если кнопка C на клавиатуре была нажата, она должна вывести значение «7».Значение кнопок должно изменяться только до тех пор, пока приложение работает.

Мой код пока:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        this.KeyDown += new KeyEventHandler( Form1_KeyDown );

    }

    void Form1_KeyDown( object sender, KeyEventArgs e )
    {
        if (e.KeyCode == Keys.C)
        {


        }
    }
}

Буду признателен за помощь.Спасибо

1 Ответ

0 голосов
/ 16 февраля 2012

Если это относится только к вашему приложению, я бы продолжил, составив хэш-карту ключей для их привязки.(KeyCode => Your-Binding)

Если вам нужно целочисленное значение, как в вашем примере, у вас будет карта типа:

Dictionary<KeyCode,Integer> keyMap = new Dictionary<KeyCode,Integer>();

void Form1_KeyDown( object sender, KeyEventArgs e )
{
    if(keyMap.ContainsKey(e.KeyCode) {
    int boundValue = keyMap[e.KeyCode];
    // continue with what you want to do here
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...