社区
C#
帖子详情
如何在Form中使用方向键
jiefreeman
2005-08-01 12:06:10
各位神一样的高手请看:
小生最近在做一个小游戏,是winform的,其中少不了要用到方向键;界面上还有几个快捷按钮,问题就出在这里:
当我按方向键的时候,游戏的控制并没有出现,而是不停的在几个快捷键上切换焦点;当然了,用字母键可以解决,或者我猜不要快捷键,改成菜单也许也能解决,但...我相信在目前这种条件下还是可以有办法用到方向键的,请教高手大人!
跟这个类似的还有系统按键的控制问题,比如说Alt,Ctrl等.
...全文
421
18
打赏
收藏
如何在Form中使用方向键
各位神一样的高手请看: 小生最近在做一个小游戏,是winform的,其中少不了要用到方向键;界面上还有几个快捷按钮,问题就出在这里: 当我按方向键的时候,游戏的控制并没有出现,而是不停的在几个快捷键上切换焦点;当然了,用字母键可以解决,或者我猜不要快捷键,改成菜单也许也能解决,但...我相信在目前这种条件下还是可以有办法用到方向键的,请教高手大人! 跟这个类似的还有系统按键的控制问题,比如说Alt,Ctrl等.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pupo
2005-08-04
打赏
举报
回复
ProcessCmdKey是Form的一个方法,你重写它就可以了
jinjazz
2005-08-04
打赏
举报
回复
public class Form1 : System.Windows.Forms.Form
{
}
里面
jiefreeman
2005-08-03
打赏
举报
回复
充电中,你的这个函数怎么用啊,我看它是重写一个什么函数了,但放在什么地方用呢?(本人自学C#两个月左右,水平不高,不好意思!)
jiefreeman
2005-08-03
打赏
举报
回复
无比佩服中!先拜一下各位神一样的大虾!
3tzjq
2005-08-03
打赏
举报
回复
构造函数中:
this.KeyDown +=new KeyEventHandler(ImportExcelHelper_KeyDown);
处理KeyDown事件:
private void ImportExcelHelper_KeyDown(object sender, KeyEventArgs e)
{
switch(e.KeyCode)
{
case Keys.Up:
MessageBox.Show("Up!");
break;
case Keys.Down:
MessageBox.Show("Down!");
break;
case Keys.Left:
MessageBox.Show("Left!");
break;
case Keys.Right:
MessageBox.Show("Right!");
break;
}
}
jiefreeman
2005-08-03
打赏
举报
回复
一起看斜阳,我要我要:)发到我的邮箱里谢了!zj_jie@163.COM
jiefreeman
2005-08-03
打赏
举报
回复
谢谢永不言弃大虾,窗体的KeyPreview=true偶已经设了,但base.KeyDown或base.KeyPress这两个事件我还是第一次听说,能不能稍微讲细一点点.窗子纸就差一点就破了...
SeeSunSet
2005-08-03
打赏
举报
回复
要不要我发一个俄罗斯方块的源代码给你啊?
jinjazz
2005-08-03
打赏
举报
回复
const int WM_SYSKEYDOWN=260;
const int WM_KEYDOWN=256;
protected override bool ProcessCmdKey(ref Message msg,Keys keyData)
{
if ((msg.Msg==WM_KEYDOWN)||(msg.Msg==WM_SYSKEYDOWN))
{
switch (keyData)
{
case Keys.Up:
MessageBox.Show("up");
break;
case Keys.Down:
MessageBox.Show("down");
break;
case Keys.Left:
MessageBox.Show("left");
break;
case Keys.Right:
MessageBox.Show("right");
break;
}
}
return true;
}
3tzjq
2005-08-03
打赏
举报
回复
这是Windows默认的!你应设界面窗体的KeyPreview = true 并处理base.KeyDown 或 base.KeyPress事件,然后在事件里处理按下键所执行的操作。
jiefreeman
2005-08-03
打赏
举报
回复
可能我没讲明白,是这样的,四楼的大虾说的我用到了,而且已经获得了四个方向键在winform上的keyup事件了,但是,是这样的:
+---------------------+
| |
| +--------+ +------+ |
| | 游 | |button| |
| | 戏 | +------+ |
| | 显 | |
| | 示 | +------+ |
| | 区 | |button| |
| | | +------+ |
| +--------+ |
| |
+---------------------+
这下应该清楚一点了...在这个界面上我想用方向键控制游戏区里的游戏,但是这个界面上还有几个按钮,如果我一按方向键,结果是,只是不停的在按钮上切换焦点,而不是控制游戏区里的游戏.但是如果不用方向键,换成任何一个字母键就可以.
我就是想用方向键对游戏区里的游戏进行控制,而不是在按钮上切换焦点.
大侠们,指点一下迷津吧~~
cdo
2005-08-03
打赏
举报
回复
呵呵,我也想知道,帮你up一下.
我不懂电脑
2005-08-03
打赏
举报
回复
在form的KeyDown事件里处理呀。
3tzjq
2005-08-03
打赏
举报
回复
ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemWindowsFormsKeysClassTopic.htm
3tzjq
2005-08-03
打赏
举报
回复
KeyCode.Up : 上箭头
KeyCode.Down : 下箭头
KeyCode.Left : 左箭头
KeyCode.Right: 右箭头
....
MSDN里有说明
lih163
2005-08-03
打赏
举报
回复
这个呀,keyup可以吗
zeusvenus
2005-08-03
打赏
举报
回复
可以用keycode=多少来写响应的事件啊
jiefreeman
2005-08-03
打赏
举报
回复
顶一下...
jQuery EasyUI 1.4.2 离线简体
中
文API文档 含完整开发工具包+皮肤+扩展+演示
已有的组件新增了很多新的API,并且首次加入了移动端开发框架,可谓相当给力,新东西自然意味着更多的BUG即将诞生,我个人预计在未来的1~2个版本里会有不少BUG修复的更新内容,今后EasyUI定会发力移动开发方向,所以...
Google Android SDK开发范例大全(PDF高清完整版3)(4-3)
5.4 自制发送Email程序——Intent在Email上的
使用
5.5 自制日历手机数据库——实现SQLiteOpenHelper 5.6 手机震动的节奏——Vibrator对象及周期运用 5.7 图文可视化提醒——Toast与LinearLayoutView 5.8 状态栏的...
C# 实战项目——制作仿QQ软件
大家都用过,在现在这个互联网时代,越来越多的人
使用
QQ 进行沟通交流,本章将
使用
C# 制作一个仿 QQ 的聊天软件 —— Q 友。通过本课程学习,你将学到以下知识点: ...
Google Android SDK开发范例大全(PDF完整版4)(4-4)
5.4 自制发送Email程序——Intent在Email上的
使用
5.5 自制日历手机数据库——实现SQLiteOpenHelper 5.6 手机震动的节奏——Vibrator对象及周期运用 5.7 图文可视化提醒——Toast与LinearLayoutView 5.8 状态栏的...
Google Android SDK开发范例大全(PDF高清完整版1)(4-1)
5.4 自制发送Email程序——Intent在Email上的
使用
5.5 自制日历手机数据库——实现SQLiteOpenHelper 5.6 手机震动的节奏——Vibrator对象及周期运用 5.7 图文可视化提醒——Toast与LinearLayoutView 5.8 状态栏的...
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章