键盘移动窗体

kkfvjmtd 2007-08-22 06:04:55
我想通过键盘方向健移动窗体,下面是代码:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
Point point = this.Location;

switch (e.KeyData)
{
case Keys.Up:
point.Y -= 1;
break;
case Keys.Down:
point.Y += 1;
break;
case Keys.Right:
point.X += 1;
break;
case Keys.Left:
point.X -= 1;
break;
case Keys.Escape:
this.Close();
break;
default:
break;
}
this.Location = point;
}
事件也激活了,但是按方向键却没有反应,乍回事呀?
...全文
139 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wolfmvp 2008-12-28
  • 打赏
  • 举报
回复
呵呵!我也正做它呢,先参考一下!
kkfvjmtd 2007-08-22
  • 打赏
  • 举报
回复
是呀,我窗体是有按纽,我把按纽去了就行了?难道就是你说的系统自动捕获了?谢谢了!!!
又长了点知识
sadever 2007-08-22
  • 打赏
  • 举报
回复
Mark
NightShadows 2007-08-22
  • 打赏
  • 举报
回复
up down那个几键系统自动捕获了,用来切换按钮
你窗体上有Button吧
None465465535 2007-08-22
  • 打赏
  • 举报
回复
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
Point point = this.Location;

switch (e.KeyData)
{
case Keys.Up:
this.Location=new Point(point.X,point.Y-1);
break;
case Keys.Down:
this.Location=new Point(point.X,point.Y+1);
break;
case Keys.Right:
this.Location=new Point(point.X+1,point.Y);
break;
case Keys.Left:
this.Location=new Point(point.X-1,point.Y);
break;
case Keys.Escape:
this.Close();
break;
default:
break;
}
}
kkfvjmtd 2007-08-22
  • 打赏
  • 举报
回复
有点小问题,现在是不出错了,但就是窗体没有反应
kkfvjmtd 2007-08-22
  • 打赏
  • 举报
回复
不行呀,出错,要求对象引用,你再看看。
vrhero 2007-08-22
  • 打赏
  • 举报
回复
Form1.KeyPreview = true;

默认窗体不接收按键事件...

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧