2011-04-18 57 views
2

在c#中,我使用此代碼對按鍵進行了直接反應。如何在我的計算器中對(+, - ,* /)進行反應

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


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

我爲所有數字鍵盤號碼定義了它,它工作得很好。但我無法爲NumPad上的(/,, - ,+)定義此功能。我已經閱讀了一些解決方案拋出keyCode的主題......它就像(e.keykode == 46)比某些東西。但它後,我按下輸入。我需要imediatly反應沒有鍵+, - ,,/。有人可以幫我嗎?

回答

4

您在尋找Keys.AddKeys.DivideKeys.MultiplyKeys.Subtract,我相信。

要使用它們,那將是完全一樣的,你已經完成:

if(keyData == Keys.Multiply) { // or Add, Divide, or Subtract 
    btnMultiply.PerformClick(); // Or whatever else you want to do here. 
} 
+0

我與C夏普begginer ....你能寫我一個代碼如何做到這一點嗎? – Nasgharet 2011-04-18 18:22:49

+0

已添加代碼示例。 – Ryan 2011-04-18 19:22:56

+0

我很抱歉,我不明白,但Keys.Multiply沒有定義,我想對關鍵「/」的反應。如何定義它應該是「/」? – Nasgharet 2011-04-18 20:24:17

1

你想這對在事件發生像這樣:

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

像這樣的東西應該爲你工作。

+0

這是一樣的.....在這個功能是沒有定義,我想要一個反應的關鍵「/」。 :( – Nasgharet 2011-04-18 20:25:51