C#中按WASD四个键控制一个button的上下左右移动

来源:百度知道 编辑:UC知道 时间:2024/09/24 06:54:12
private void button1_KeyDown(object sender, KeyEventArgs e)
{
int x1 = button1.Location.X;
int y1 = button1.Location.Y;
if (e.KeyCode == Keys.W)
{
button1.Location = new Point(x1, y1-5);
}
}
MainForm的KeyPreview也改成True了,为什么按了W没用?

1.你调试的时候,那个绘制button移动的方法有没有进入循环?
2.按键移动是如何定义的?private void这个方法有没有进去?

你这个事件有问题,这明明是button1的OnKeyDown事件。
只有当button1获得焦点的时候才起作用。
所以这段代码根本没被执行到。
要用MainForm中的OnKeyDown
另外注意大小写和输入法

代码写在 Form1_KeyDown 里面

你键盘坏了吧