Как реагировать на (+, -, * /) в моем калькуляторе - PullRequest
2 голосов
/ 18 апреля 2011

В c # я использую этот код для немедленной реакции на нажатие клавиш.

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{


            if (keyData == Keys.NumPad1)
            {
                button_1.PerformClick();
                return true;
            }
}

Я определил это для всех чисел numpad, и он отлично работает.Но я не могу определить эту функцию для (/, , -, +) на NumPad.Я прочитал некоторые темы с решением бросить keyCode ... это было похоже, если (e.keykode == 46), чем-то.Но это сработало после того, как я нажал Enter.Мне нужна немедленная реакция без клавиш +, -, , /.Может кто-нибудь помочь мне, пожалуйста?

Ответы [ 2 ]

4 голосов
/ 18 апреля 2011

Вы ищете Keys.Add, Keys.Divide, Keys.Multiply и Keys.Subtract, я полагаю.

Чтобы использовать их, это будет точно так же, как вы уже сделали:

if(keyData == Keys.Multiply) { // or Add, Divide, or Subtract
     btnMultiply.PerformClick(); // Or whatever else you want to do here.
}
1 голос
/ 18 апреля 2011

Вы хотите, чтобы это произошло в таком событии, как:

    private void txtText_KeyDown(object sender, KeyEventArgs e)
    {
          if (e.KeyCode == Keys.Add)
          {
             //do something
          }
    }

Что-то подобное должно работать для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...