2011-04-18 8 views
2

私はこのコードを使用して、プレスキーで反応します。私の計算機で反応する方法(+、 - 、* /)

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


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

すべての数字にこの値を定義していますが、それは素晴らしいです。しかし、NumPadでは(/、、 - 、+)のこの関数を定義することはできません。私はソリューションのキーコードを投げるいくつかのトピックを読んで...それは何か(e.keykode == 46)のようだった。しかし、私はenterを押した後に働いた。私は即座に反応が必要ない鍵+、 - 、、/。誰かが私を助けることができますpls?

答えて

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シャープで初心者です...あなたは私にそのコードをどのように正確に書くことができますか? – Nasgharet

+0

コード例が追加されました。 – Ryan

+0

私は理解できませんが、Keys.Multiply does notはキー "/"に反応を欲していると定義しています。それを "/"にする方法を定義する方法は? – Nasgharet

1

あなたはこれがそうのような場合に発生しますか:

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

にこのような何かをする必要がありあなたのために働く。

+0

これは同じです.....この関数では、反応のodキー "/"が必要であるという定義はありません。 :( – Nasgharet

関連する問題