C#中,给WinForm窗体中添加了几个按钮后就不会响应键盘事件了
当程序运行时,按键盘控制无效,但是几个按钮却又顺序''跳转''样(词穷了,⊙﹏⊙b汗),该怎么解决啊???在窗体Keydown时间中写的代码,试过将窗体中属性Keypre...
当程序运行时,按键盘控制无效,但是几个按钮却又顺序''跳转''样(词穷了,⊙﹏⊙b汗),该怎么解决啊???
在窗体Keydown时间中写的代码,试过将窗体中属性Keypreview设置为true,也将按钮的Tabstop设置为false了,问题依然在啊!%>_<% 展开
在窗体Keydown时间中写的代码,试过将窗体中属性Keypreview设置为true,也将按钮的Tabstop设置为false了,问题依然在啊!%>_<% 展开
4个回答
展开全部
你的键盘控制代码是在窗体的事件中触发的吧,当窗体中有按钮时,焦点通常是落在按钮上的,这个时候你通过键盘控制,就不能引发窗体的事件了。
要解决这个问题,我记得好像在窗体的属性中有个keyprexxxxx(记不得单词了),把这个属性设置为true,就能解决你这个问题。
要解决这个问题,我记得好像在窗体的属性中有个keyprexxxxx(记不得单词了),把这个属性设置为true,就能解决你这个问题。
追问
试过了,还是不行额,我是在窗体的Keydown事件中写的
追答
我这里面有开发环境,还有一个属性是定义热键的,我忘了是什么名字,呵呵。你找找看,那个属性是可以定义组合热键(如ctrl+xxxxx,ctrl+shift+xxxx等)的,也可以单独指定按键。比较显眼。
展开全部
当然了,你的到控件属性中双击键盘按下事件,然后在写代码,就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置按钮的TabStop属性为false
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你代码应该不是机密吧?你代码贴上来我们也好看看
追问
如下
追答
属性值KeyPreview 如果窗体将接收所有键事件,则为 true;如果窗体上当前选定控件接收键事件,则为 false。默认为 false 备注 当此属性设置为 true 时,窗体将接收所有 KeyPress、KeyDown 和 KeyUp 事件。在窗体的事件处理程序处理完该击键后,然后将该击键分配给具有焦点的控件。例如,如果 KeyPreview 属性设置为 true,而且当前选定的控件是 TextBox,则在该窗体的事件处理方法处理击键后,TextBox 控件将接收按下的键。要仅在窗体级别处理键盘事件并且不允许控件接收键盘事件,请将窗体的 KeyPress 事件处理方法中的 KeyPressEventArgs.Handled 属性设置为 true。 可以使用此属性处理应用程序中的所有的击键事件,并可以处理击键事件或调用适当的控件来处理击键事件。例如,当应用程序使用功能键时,可能希望在窗体级别处理这些击键,而不是为可能接收击键事件的每个控件编写代码。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询