[英]C# Falling down label (moving up and down)
我想做以下事情:使用计时器label2正在倒下,但我想按下空格时标签上升,当我释放它时标签再次下降,直到我再次按空格,我写的像这个,但它一直在下降:
int step = 5;
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Space:
step = -5;
break;
}
}
private void timer3_Tick(object sender, EventArgs e)
{
label2.Location = new Point(label2.Location.X, label2.Location.Y + step);
}
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Space:
step = 5;
break;
}
}
听起来你的事件没有连线。 单击设计器中的表单,然后查看“ Properties
窗口。 然后单击闪电,进入“事件”窗格。
如果KeyDown
旁边没有任何内容,则在按下某个键时不会调用Form1_KeyDown
方法。 单击空格并选择在触发KeyDown
事件时将调用的方法。
如果表单上还有其他控件,您可能还需要启用KeyPreview
。 这告诉表单在另一个控件具有焦点时响应按键。
您需要正确连接KeyDown事件
尝试这个:
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.