我有一个标准的文本框,我想在按键上执行操作。我目前有这个代码:
private void idTextEdit_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter/Return)
{
e.Handled = true;
SearchButtonClick(sender, EventArgs.Empty);
}
}
问题是,我在那里尝试了Enter和Return,这就是原因。只检查是否正常按键不是移位,控制等。如何设计它以便它以相同的方式拾取并使用输入/返回键?
答案 0 :(得分:6)
您应该使用KeyDown
事件:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Return)
{
//...
}
}
如果出于某种原因已为KeyPress
,您可以使用(char)13
或'\r'
进行检查,但我怀疑这样做是否合适非Windows操作系统。
if (e.KeyChar == '\r')
您不能只将Keys.Return
转换为char
,因为它是一个位标记枚举,并且不仅仅包含相应的ASCII代码。
答案 1 :(得分:0)
改为使用KeyDown事件。