首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KeyPress事件C#

KeyPress事件C#
EN

Stack Overflow用户
提问于 2013-02-21 16:46:51
回答 2查看 2.6K关注 0票数 2

我有一个有9个按钮的“主页”屏幕。按钮的所有文本属性都设置为:&Returns,以便在显示中为R加下划线。

因此,当我在主屏幕上按R键时,我想要加载Returns屏幕。这就是我所拥有的:

代码语言:javascript
复制
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;
    }
}

但这绝对没有任何作用。有人能帮帮忙吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-21 16:55:49

应将窗体的KeyPreview属性设置为true

代码语言:javascript
复制
this.KeyPreview = true;

否则,按键事件将在窗体的某些内部控件中引发,而不是在主窗体中引发。

此外,您的比较是区分大小写的。e.KeyChar == (char)Keys.R只适用于R,而不适用于r

代码语言:javascript
复制
if(char.ToUpper(e.KeyChar) == (char)Keys.R)
票数 3
EN

Stack Overflow用户

发布于 2013-02-21 16:50:38

我认为这篇文章的脉络与此类似:CTRL + S to submit form and all inputs

我做过类似的事情,它确实起作用了。它可能需要更多的输入,因为你不想在完成之前不小心输入r让页面重定向到某个地方?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14997942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档