检测输入密钥C#
问题描述:
我有下面的代码,当按enter/return时不显示MessageBox。检测输入密钥C#
对于任何其他键(即字母/数字),MessageBox显示False。
private void cbServer_TextChanged(object sender, EventArgs e)
{
if (enterPressed)
{
MessageBox.Show("Enter pressed");
}
else
MessageBox.Show("False");
}
private void cbServer_Keydown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Return)
{
enterPressed = true;
MessageBox.Show("Enter presssed: " + enterPressed);
}
else
enterPressed = false;
}
任何想法?
编辑:上面的代码,我认为这个问题是与_Keydown,所以我只是张贴。
在窗体设计器类
答
(formname.designer.cs)补充一点:
this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Login_KeyPress);
这个代码添加到骨干代码(formname.cs):
void Login_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)13)
MessageBox.Show("ENTER has been pressed!");
else if (e.KeyChar == (char)27)
this.Close();
}
答
private void textBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
MessageBox.Show("Enter key pressed");
}
else if (e.Key == Key.Space)
{
MessageBox.Show("Space key pressed");
}
}
使用PreviewKeyDown事件检测文本框或输入
如何在消息框中显示错误显示之前的任何键。我没有看到它 – 2012-08-16 09:28:07
另外。你尝试过调试吗?您应该使用OEMReturn或它也是什么 – 2012-08-16 09:29:05
cbServer是什么类型的控件?一个组合框?并且是一个wpf或winforms应用程序? – Steve 2012-08-16 09:30:28