Helpex - Trao đổi & giúp đỡ Đăng nhập
64

Tôi đã thử mã này:

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

và điều này:

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

và điều này:

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

nhưng chúng không hoạt động ...

Khi tôi viết một cái gì đó và nhấn Enter, nó không hoạt động. Nó chỉ làm nổi bật văn bản của tôi.

64 hữu ích 5 bình luận 369k xem chia sẻ
14 trả lời 14
103

Hãy thử mã này, có thể hoạt động (Giả sử dạng cửa sổ):

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

Đăng ký sự kiện như thế này:

this.textBox1.KeyPress += new 
System.Windows.Forms.KeyPressEventHandler(CheckEnter);
103 hữu ích 5 bình luận chia sẻ
39

Bạn phải thử điều này trong sự kiện keydown

đây là mã cho điều đó:

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

Cập nhật:

Ngoài ra, bạn có thể làm điều này với sự kiện nhấn phím.

Thử cái này :

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == Convert.ToChar(Keys.Return))
        {
            MessageBox.Show("Key pressed");
        }
    }
39 hữu ích 5 bình luận chia sẻ
7
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == (char)Keys.Enter)
    {
        MessageBox.Show("Enter Key Pressed");
    }
}

Điều này cho phép bạn chọn Khóa cụ thể mà bạn muốn mà không cần tìm giá trị ký tự của khóa.

7 hữu ích 0 bình luận chia sẻ
4
private void textBoxKontant_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Return)
            {
                MessageBox.Show("Enter pressed");
            }
        }

Ảnh chụp màn hình:

Nhấn phím Enter trong C #

4 hữu ích 0 bình luận chia sẻ
3

KeyChar đang tìm kiếm một giá trị số nguyên, vì vậy nó cần được chuyển đổi như sau:

    private void Form1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == Convert.ToInt16(Keys.Enter))
        {
            MessageBox.Show("Testing KeyPress");
        }
    }
3 hữu ích 1 bình luận chia sẻ
2
private void TextBox1_KeyUp(object sender, KeyEventArgs e)
{
     if (e.KeyCode == Keys.Enter)
     {
         MessageBox.Show("Enter pressed");
     }
 }

Đã làm cho tôi.

2 hữu ích 0 bình luận chia sẻ
1

Thay vì sử dụng sự kiện Key_press, bạn có thể sử dụng sự kiện Key_down. Bạn có thể tìm thấy mã này như bên dưới sau khi nhấp đúp vào đây nó sẽ tự động mã nàyNhấn phím Enter trong C #

private void textbox1_KeyDown(object sender, KeyEventArgs e)
    {

     }

Vấn đề được giải quyết bây giờ sử dụng như bạn muốn.

private void textbox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            MessageBox.Show(" Enter pressed ");
        }
     }
1 hữu ích 2 bình luận chia sẻ
0
private void Input_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Return)
        {
            MessageBox.Show("Enter pressed");
        }
    }

Điều này đã làm việc cho tôi.

0 hữu ích 0 bình luận chia sẻ
0

Ngoài ra, bạn có thể làm điều này với sự kiện nhấn phím.

 private void textBox1_EnterKeyPress(object sender, KeyEventArgs e)

 {

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


}
0 hữu ích 1 bình luận chia sẻ
0

Đối với tôi, đây là giải pháp tốt nhất:

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyData == Keys.Enter)
    {
        MessageBox.Show("Enter key pressed");
    }
}

Nhấn phím Enter trong C #

0 hữu ích 0 bình luận chia sẻ
0

Hãy ghi nhớ rằng

Keys.Return khác với Keys.Enter

//Makes it easier to Type user and password and press Enter, 
//Rather than using the mouse to Click the Button all the time
    private void Txt_Password_KeyDown(object sender, KeyEventArgs e)
    {
        if(e.KeyCode == Keys.Return)
        {
            Btn_Login_Click(null, null);
        }
    }

Hy vọng điều này sẽ giúp ai đó.

0 hữu ích 0 bình luận chia sẻ
0
private void Ctrl_KeyUp(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        this.SelectNextControl((Control)sender, true, true, true, true);
    }
}

Chọn tất cả các hộp văn bản được yêu cầu; nhập tên Sự kiện mới Ctrl_KeyUp.

Xem YouTube của BTNT TV: https://www.bing.com/videos/searchq=c%23+how+to+move+to+next+textbox+ After+enterkey&view=detail&mid=999E8CAFC15140E867C0999E8CAFC15140E867C0&FORM=VIRE

0 hữu ích 0 bình luận chia sẻ
-1

Bạn có thể sử dụng mã này:

abc_KeyDown(abc, new KeyEventArgs(Keys.Enter));
-1 hữu ích 0 bình luận chia sẻ
-2

Thử cái này:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
        switch (e.Key.ToString())
        {
                case "Return":
                        MessageBox.Show(" Enter pressed ");
                        break;
         }
}
-2 hữu ích 2 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ c# .net , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading