Tôi cố gắng để thêm một "KeyPress" sự kiện trong một textbox (WinForm)Sự kiện "KeyPress" cho hộp văn bản WinForms bị thiếu?
this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(CheckKeys);
và đây là bên trong 'CheckKeys':
private void CheckKeys(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (e.KeyChar == (char)13)
{
// Enter is pressed - do something
}
}
Ý tưởng ở đây là một khi một textbox là trong tiêu điểm và nút 'Enter' được nhấn, điều gì đó sẽ xảy ra ...
Tuy nhiên, máy của tôi không thể tìm thấy sự kiện 'KeyPress'. Có vấn đề gì với mã của tôi không?
UPDATE:
Tôi cũng đã cố gắng đưa KeyDown thay vì KeyPress:
private void textBox1_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
if (e.Key == Key.Return)
// Enter is pressed - do something
}
}
Vẫn không làm việc mặc dù ...
Bạn đã thử tìm KeyDown chưa? – Chris
Thao tác này sẽ hoạt động - bạn có chắc chắn đang đăng ký trình xử lý CheckKeys của mình ở đúng vị trí không? Điều gì xảy ra nếu bạn đặt MessageBox.Show (e.KeyChar.ToString()) trong trình xử lý của bạn - nó có bắt bất kỳ sự kiện nào không? – pduncan
@Chris: không hoạt động. Tôi đã cố tạo một sự kiện tương tự như việc nhấp vào một nút bằng cách nhấn enter. – abramlimpin