68

私はこのコードを試しました:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (Convert.ToInt32(e.KeyChar) == 13) 
    {
        MessageBox.Show(" Enter pressed ");
    }
}

この:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == Convert.ToChar(Keys.Enter))
    {
        MessageBox.Show(" Enter pressed ");
    }
}

この:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == Keys.Enter)
    {
        MessageBox.Show(" Enter pressed ");
    }
}

しかし、彼らは働いていません...

何か書いて を押しEnterても動かない。それは私のテキストを強調表示するだけです。

4

14 に答える 14

109

このコードを試してください、うまくいくかもしれません(Windowsフォームを想定しています):

private void CheckEnter(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
    if (e.KeyChar == (char)13)
    {
        // Enter key pressed
    }
}

次のようにイベントを登録します。

this.textBox1.KeyPress += new 
System.Windows.Forms.KeyPressEventHandler(CheckEnter);
于 2012-09-07T12:34:51.997 に答える
40

keydown イベントでこれを試す必要があります

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

private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Enter)
        {
            MessageBox.Show("Enter pressed");
        }
    }

アップデート :

また、キープレスイベントでこれを行うことができます。

これを試して :

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == Convert.ToChar(Keys.Return))
        {
            MessageBox.Show("Key pressed");
        }
    }
于 2012-09-07T12:44:53.647 に答える
7
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == (char)Keys.Enter)
    {
        MessageBox.Show("Enter Key Pressed");
    }
}

これにより、キーの char 値を見つけることなく、必要な特定のキーを選択できます。

于 2013-08-07T07:06:43.553 に答える
4
private void textBoxKontant_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Return)
            {
                MessageBox.Show("Enter pressed");
            }
        }

スクリーンショット:

于 2014-07-27T18:42:48.830 に答える
3

KeyChar は整数値を探しているため、次のように変換する必要があります。

    private void Form1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == Convert.ToInt16(Keys.Enter))
        {
            MessageBox.Show("Testing KeyPress");
        }
    }
于 2016-03-15T14:09:37.977 に答える
2
private void TextBox1_KeyUp(object sender, KeyEventArgs e)
{
     if (e.KeyCode == Keys.Enter)
     {
         MessageBox.Show("Enter pressed");
     }
 }

私のために働いた。

于 2016-08-02T12:28:37.817 に答える
0

また、キープレスイベントでこれを行うことができます。

 private void textBox1_EnterKeyPress(object sender, KeyEventArgs e)

 {

  if (e.KeyCode == Keys.Enter)
   {
     // some code what you wanna do
   }


}
于 2015-10-01T07:13:32.430 に答える
-1

次のコードを使用できます。

abc_KeyDown(abc, new KeyEventArgs(Keys.Enter));
于 2015-12-11T06:57:21.523 に答える
-2

これを試して:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
        switch (e.Key.ToString())
        {
                case "Return":
                        MessageBox.Show(" Enter pressed ");
                        break;
         }
}
于 2012-09-07T12:35:08.650 に答える