6

次のコードを使用して、テンキーを操作します。

if (e.KeyCode == Keys.NumPad0 || e.KeyCode == Keys.D0)
{
   MessageBox.Show("You have pressed numpad0");
}
if (e.KeyCode == Keys.NumPad1 || e.KeyCode == Keys.D1)
{
   MessageBox.Show("You have pressed numpad1");
}

また、他のテンキーの場合も同様です。しかし、テンキーの横にある「+」、「*」、「/」、「-」、「。」について、これをどのように行うことができるか知りたいです。

前もって感謝します

4

4 に答える 4

13

Keys列挙型全体を確認してください。、、などがありKeys.MutiplyますKeys.Add

テンキー0ではなくKeys.D0、テンキー以外の0であることに注意してください。

于 2012-05-16T21:04:14.610 に答える
5

「+」、「*」、「/」の場合はKeyDownイベントを使用でき、「-」、「。」の場合は使用できます。KeyPressイベントを使用できます。

コードは次のとおりです。

private void button1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Add)
        {
            MessageBox.Show("You have Pressed '+'");
        }
        else if (e.KeyCode == Keys.Divide)
        {
            MessageBox.Show("You have Pressed '/'");
        }
        else if (e.KeyCode == Keys.Multiply)
        {
            MessageBox.Show("You have Pressed '*'");
        }
    }
private void button1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == '.')
        {
            MessageBox.Show("You have pressed '.'");
        }
        else if (e.KeyChar == '-')
        {
            MessageBox.Show("You have pressed '-'");
        }
    }
于 2012-08-11T07:33:09.227 に答える
0

私は以前、自分switchの仕事をしていました。

電卓を作成していて、ターゲットのテキストボックスでもKeyDownを作成しています。次に使用しました:

switch (e.KeyCode)
{
    case Keys.NumPad1:
        tbxDisplay.Text = tbxDisplay.Text + "1";
    break;
    case Keys.NumPad2:
        tbxDisplay.Text = tbxDisplay.Text + "2";
    break;
    case Keys.NumPad3:
        tbxDisplay.Text = tbxDisplay.Text + "3";
    break;
}

もう1つ考慮すべき点は、ユーザーが画面上のボタンをクリックすると、テキストボックスからフォーカスが失われ、キーエントリが機能しなくなることです。しかし、それはボタンの.focus()で簡単に修正できます。

于 2012-12-18T02:03:56.787 に答える
0

マニュアルを確認せずにすべてのキーコードを学ぶ簡単な方法があります。

フォームを作成し、フォームのKeyDownイベントに移動して、これを追加します

private void Form1_KeyDown(object sender, KeyEventArgs e)
   {
      MessageBox.Show(e.KeyCode.ToString());
   }

次に、キーボードで押したキーの名前が表示されます

于 2021-05-25T20:47:34.997 に答える