视觉基础 当表单加载时,显示一些内容



试图使 Label1 在延迟后加载表单时显示。然后在 Label1 显示之后,试图让 Label2 显示,经过进一步的延迟。无论是睡觉还是延迟,都行不通。

这是我的代码:

  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    System.Threading.Thread.Sleep(5000)
    Label1.Show()
    Delay(2)
    Label2.Show()
End Sub

这最终起作用了:

Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Button1.Visible = False
    Button2.Visible = False

End Sub
Private Sub Form1_Show(sender As Object, e As EventArgs) Handles MyBase.Shown
    Delay(5)
    Button1.Visible = True
    Delay(5)
    Button2.Visible = True
End Sub

结束类

最好的办法是在表单加载时将标签初始化为隐藏,然后在表单显示时运行代码...

编辑:我意识到OP想要连续显示标签,而不是在延迟后一次全部显示......

    public int i = 1; // public variable as a counter
    private void Form1_Load(object sender, EventArgs e)
    {
        label1.Visible = false; // start the labels as not visible.
        label2.Visible = false;
    }
    private void Form1_Shown(object sender, EventArgs e)
    {
        timer1.Start(); // start up the timer.
    }
    private void timer1_Tick(object sender, EventArgs e)
    {
        // initialize a timer that iterates through the labels provided
        // and set them to visible.
        while(i <= 2)
        {
            Label test = (Label)this.Controls["label" + i.ToString()];
            test.Visible = true;
            i++;
            break;
        }
    }

最新更新