我想知道是否在
中按了Enter键private void txtMessage_TextChanged(object sender, EventArgs e)
{
// do something
}
但我不能这样做:
private void txtMessage_TextChanged(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (e.KeyChar == (char)13)
{
// Then Enter key was pressed
}
}
由于txtMessage_TextChanged
没有此重载。
有什么建议吗?谢谢!
答案 0 :(得分:2)
您需要订阅实际捕获该信息的事件。
KeyPress
事件在TextChanged
之前触发,因此您可以使用bool
来指示是否已按下Enter
键。
bool enterKeyPressed = false;
private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
{
enterKeyPressed = (e.KeyChar == (char)Keys.Enter);
}
private void txtMessage_TextChanged(object sender, EventArgs e)
{
if (enterKeyPressed)
{
}
}
答案 1 :(得分:1)
注册:
this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Login_KeyPress);
在该方法中,如果keychar == 13
,则设置一个布尔值或其他内容答案 2 :(得分:0)
您可以使用按键事件来捕获输入键事件