C# 如何响应键盘的上下左右键
我的界面里有滚动条,当然也添加了Scroll响应函数。我发现,Scroll函数会默认响应键盘的上下左右键,所以给界面添加KeyDownKeyUp函数等,不能响应上下左右键...
我的界面里有滚动条,当然也添加了Scroll响应函数。
我发现,Scroll函数会默认响应键盘的上下左右键,
所以给界面添加KeyDown KeyUp 函数等,不能响应上下左右键。
我想按下上下左右的时候,移动我自己的绘图元素,所以要响应这四个按键才行。
所以麻烦问问,可以怎样实现?多谢。
窗体响应键盘事件是默认的。
当设置了KeyPreview 为True之后,窗体上的控件会相应的响应键盘事件。
滚动条也属于窗体的控件,所以也会响应。可以把滚动条的键盘响应函数的句柄设为True,避免进行响应。
主要是我的问题问得不清楚。
我的工程是窗体上的控件库里想处理键盘响应事件。
嗯,先把分送了。 展开
我发现,Scroll函数会默认响应键盘的上下左右键,
所以给界面添加KeyDown KeyUp 函数等,不能响应上下左右键。
我想按下上下左右的时候,移动我自己的绘图元素,所以要响应这四个按键才行。
所以麻烦问问,可以怎样实现?多谢。
窗体响应键盘事件是默认的。
当设置了KeyPreview 为True之后,窗体上的控件会相应的响应键盘事件。
滚动条也属于窗体的控件,所以也会响应。可以把滚动条的键盘响应函数的句柄设为True,避免进行响应。
主要是我的问题问得不清楚。
我的工程是窗体上的控件库里想处理键盘响应事件。
嗯,先把分送了。 展开
5个回答
推荐于2017-10-02 · 知道合伙人数码行家
关注
展开全部
一个控件都会有三个事件,分别是KeyDown,KeyPress和KeyUp其中,KeyDown对应(键盘或者鼠标)按下而KeyUp则对应松开,或者说弹起来。而KeyPress则在你按下并松开按键的时候,会先后触发KeyDown事件和KeyUp事件;
例如KeyDown我需要响应键盘的“上”:
private void txtRemark_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Up)
{
//codes what you want
}
}
例如KeyDown我需要响应键盘的“上”:
private void txtRemark_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Up)
{
//codes what you want
}
}
展开全部
KeyPreview 属性设为True
这个是键盘在窗体注册的属性
楼主你也可以用ascii码去实现
键盘上的每一个键都对应一个ascii码
这个是键盘在窗体注册的属性
楼主你也可以用ascii码去实现
键盘上的每一个键都对应一个ascii码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我试过了,可以的啊,你是不是没有把窗体的 KeyPreview 属性设为True
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是没有获得焦点
有文本框或按钮之类的把焦点抢走了..?
------------
你的问题我看的有点迷糊..
有文本框或按钮之类的把焦点抢走了..?
------------
你的问题我看的有点迷糊..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学习
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询