繁体   English   中英

C#掉落标签(上下移动)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM