按下箭头键,我在文本框上有一个简单的增量,如下所示。
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Down)
{
int c = int.Parse(textBox1.Text);
c++;
textBox1.Text = c.ToString();
}
}
以上工作方法是按下双向下箭头键而不是单击向下箭头键。
注意:上面的代码在UserControl上。我已经在表单keydown EventHandller上的简单winform应用程序上尝试过它,并且工作正常。
如何克服?。
答案 0 :(得分:3)
您需要处理之前存在的其他命令,并在处理您正在寻找的命令时返回。尝试将其更改为此,看看是否有帮助:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (msg.WParam.ToInt32() == (int)Keys.Down)
{
int c = int.Parse(textBox1.Text);
c++;
textBox1.Text = c.ToString();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}