簡體   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