C#窗体程序键盘事件问题

上面是Tab键顺序,唯有把这些数字按钮的Tab顺序调高,才能在程序启动后键盘输入数字并显示在TextBox中(TextBox是只读的)。但一旦我鼠标点击窗体的其他地方,比如上面两个radiobutton键,除非点击一个数字按钮,否则键盘输入没响应。请问这是什么问题,该如何解决?

此类问题注意要点键盘事件的触发条件。当Form的KeyPreview属性为False的时候(默认),只有获得焦点的控件才能接收键盘事件,而设置为True,则任何时候Form本身都可以接收事件。所以通常可以把此属性设置为True,然后所有键盘事件都写在Form_KeyDown里面。追问

KeyPreview已经设置为True了。
我是把键盘事件的处理都共享在一个自定义方法中,用的是KeyPress

追答

最好用down或者up可以留联系看。

温馨提示:内容为网友见解,仅供参考
无其他回答

C#的键盘按下事件
C#中处理键盘按下事件,主要通过键盘输入事件来实现。在文本框(TextBox)控件中,通过编写事件处理函数来监听用户的按键操作。在本示例代码中,我们编写了一个名为textbox1_KeyPress的事件处理函数,用于响应TextBox控件的KeyPress事件。当事件发生时,代码将检查用户的按键是否有效。具体而言,如果用户输入...

C#中,给WinForm窗体中添加了几个按钮后就不会响应键盘事件了
你的键盘控制代码是在窗体的事件中触发的吧,当窗体中有按钮时,焦点通常是落在按钮上的,这个时候你通过键盘控制,就不能引发窗体的事件了。要解决这个问题,我记得好像在窗体的属性中有个keyprexxxxx(记不得单词了),把这个属性设置为true,就能解决你这个问题。

请问如何在C#窗体的按钮上做一个键盘事件?
打开Microsoft Visual Studio编辑器,建一个Windows应用程序,这时你就可以看到一个空白窗口,然后你选择工具栏上面的 视图 选项,在"视图"里找到工具箱(选择它)就会在左边出现工具箱的选项了.你做的是一个事件对吧?例如:你要工具箱里找到[ab]Button这个按钮,双击两下,此时那个按钮就弹出了你的窗休上,然...

我用c#wpf做的 菜单,Command和键盘事件,出现这个错误,有没有大神知道这...
1、右键你的解决方案(不是项目,是解决方案),清理解决方案。 然后重新编译整个解决方案。2、如果清理不管用, 将你的项目全部保存,然后关闭VS,重新打开该解决方案。(尽管有点傻,但是这种问题确实经常出现)

急用!!!C#怎么同时处理同时按下的两个键盘的事件。比如对于物体K,同时...
首先定义一个按键收集列表:private List<Keys> pressedKeys=...在窗体的OnKeyDown事件中收集这些按键,保存到pressedKeys中:pressedKeys.Add(e.KeyCode)当然你要检测一下当前按下的键是否已经存在在收集列表中了,不要重复添加。最后在循环体处理这些按键:foreach(Keys k in pressedKeys){ switch(k)...

C# 关于按钮和键盘的问题
我试着回答你以下几个问题:1、按下Enter会触发具有焦点的按钮,这个没什么好解释的,这是TX内部的写法,你也可以写你自己需要的控件,取消这一功能 2、由于你单击其他按钮后,焦点停留在你点击的那个按钮上,窗体绑定的按钮将失效,我想到的方法就是在每个点击的按钮里写上 窗体绑定的按钮.Focus...

C# winform 屏蔽键盘事件 和 鼠标右键
通常来说,要对某个控件进行按键屏蔽,可以处理KeyPress事件,将KeyEventArgs.Handled属性设为true;或是重载PreProcessMessage函数。若要是屏蔽Dialog字符的话,可以重载Control.ProcessDialogKey函数。若要对整个程序进行按键屏蔽,可以创建程序级的Hook,或是对所有的控件都加上一个KeyPress事件处理函数。

C# 中怎么让控件绑定键盘事件
哦。但你要先知道按下键盘上的数字1是什么效果,如在下面的textbox加1,那就在button1的click事件中模拟按下数字1的效果,即在textbox的text尾部加上1这个字符。

C# 如何将控件传递键盘事件给窗体
\/\/而且下面这种的另一个好处就是知道用户点的是groupbox还是窗体 \/\/注意一下2种情况中,弹出的对话框的内容有什么不同你就明白我的意思了 } private void Form1_Load(object sender, EventArgs e){ groupBox1.Click += new EventHandler(groupBox1_Click);this.Click+=new EventHandler(Form1_Click...

怎么用C#编程,让键盘不起作用?
让键盘不起作用:必须指定某一个控件或者某一个窗体 这样写:就是在控件或者窗体的KeyPress事件里写:e.Handled = true;下面是个例子:在一个窗体上放一个TextBox控件txtTest和一个计时控件timerTest 计时十秒 private void TestForm_Load(object sender, EventArgs e){ txtTest.KeyPress += new ...

相似回答