我有一个有9个按钮的“主页”屏幕。按钮的所有文本属性都设置为:&Returns,以便在显示中为R加下划线。
因此,当我在主屏幕上按R键时,我想要加载Returns屏幕。这就是我所拥有的:
private void frmHome_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.R)
{
frmReturns R = new frmReturns(empid);
R.Show();
this.Hide();
e.Handled = true;
}
}但这绝对没有任何作用。有人能帮帮忙吗?
发布于 2013-02-21 16:55:49
应将窗体的KeyPreview属性设置为true
this.KeyPreview = true;否则,按键事件将在窗体的某些内部控件中引发,而不是在主窗体中引发。
此外,您的比较是区分大小写的。e.KeyChar == (char)Keys.R只适用于R,而不适用于r。
if(char.ToUpper(e.KeyChar) == (char)Keys.R)发布于 2013-02-21 16:50:38
我认为这篇文章的脉络与此类似:CTRL + S to submit form and all inputs
我做过类似的事情,它确实起作用了。它可能需要更多的输入,因为你不想在完成之前不小心输入r让页面重定向到某个地方?
https://stackoverflow.com/questions/14997942
复制相似问题