在winform中捕获上下键左右键等控制建的KeyPress事件
2008-12-12 16:22
295 查看
在winform中Form的KeyDown,KeyPress,KeyUp三个键盘事件,只可以捕获字符键,而不可以捕获TAB,HOME,UP,DOWN等控制键。如果要使用这几个键,可以重写Control的ProcessDialogKey方法,在此方法中可以做相关的事件处理。
例如下面的一段代码是CSS背景图合并工具中用户控制图片上下左右移动位置的代码
protected override bool ProcessDialogKey(Keys keyData)
{
if (_selectedPicture != null)
{
switch (keyData)
{
case Keys.Left:
if (_selectedPicture.Location.X > 0) _selectedPicture.Location = new Point(_selectedPicture.Location.X - 1, _selectedPicture.Location.Y);
break;
case Keys.Right:
_selectedPicture.Location = new Point(_selectedPicture.Location.X + 1, _selectedPicture.Location.Y);
break;
case Keys.Up:
if (_selectedPicture.Location.Y > 0) _selectedPicture.Location = new Point(_selectedPicture.Location.X, _selectedPicture.Location.Y - 1);
break;
case Keys.Down:
_selectedPicture.Location = new Point(_selectedPicture.Location.X, _selectedPicture.Location.Y + 1);
break;
default:
break;
}
}
return base.ProcessDialogKey(keyData);
}
例如下面的一段代码是CSS背景图合并工具中用户控制图片上下左右移动位置的代码
protected override bool ProcessDialogKey(Keys keyData)
{
if (_selectedPicture != null)
{
switch (keyData)
{
case Keys.Left:
if (_selectedPicture.Location.X > 0) _selectedPicture.Location = new Point(_selectedPicture.Location.X - 1, _selectedPicture.Location.Y);
break;
case Keys.Right:
_selectedPicture.Location = new Point(_selectedPicture.Location.X + 1, _selectedPicture.Location.Y);
break;
case Keys.Up:
if (_selectedPicture.Location.Y > 0) _selectedPicture.Location = new Point(_selectedPicture.Location.X, _selectedPicture.Location.Y - 1);
break;
case Keys.Down:
_selectedPicture.Location = new Point(_selectedPicture.Location.X, _selectedPicture.Location.Y + 1);
break;
default:
break;
}
}
return base.ProcessDialogKey(keyData);
}
相关文章推荐
- 在winform中捕获上下左右键等控制键的按键事件
- 在winform中捕获上下左右键等控制键的按键事件
- java事件机制之通过上下左右键来控制小球为位置的移动演示
- 【 java版坦克大战--事件处理】 键盘控制小球上下左右移动
- java 事件处理机制:按下上下左右键控制小球的运动
- java事件机制之通过上下左右键来控制小球为位置的移动演示
- C#实现WinForm捕获最小化事件的方法
- 给jquery 添加触屏事件,上下左右 touchwipe插件
- 在FreeForm DW中用方向键控制上下左右切换列
- C# Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法,可通过重写WndProc来实现
- Cocos2d-x虚拟摇杆控制精灵上下左右运动----之游戏开发《赵云要格斗》(1) cocos2dx 3.3移植版
- Atitit。监听键盘上下左右方向键事件java js jquery c#.net
- qt 实现控件的模拟人类习惯的上下左右控制
- android事件分发机制(从原理上解决左右滑动很上下滚动的矛盾)
- Java开发小游戏 用键盘控制精灵在游戏中上下左右跑动 窗体小游戏可打包下载,解压后双击start运行
- C# Winform 捕获窗体的最小化和最大化事件、关闭按钮事件
- jQuery实现用方向键控制层的上下左右移动
- <Unity3D>上下左右 键控制人移动
- android学习笔记转--------------上下左右与返回键的按键捕捉事件
- .NET keypress 事件之键盘输入控制