2016-01-18 41 views
0

嘗試使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 
+0

移動一切都在Form_Shown事件。在Form_Load中,您的表單不可見。 – Steve

+0

你如何創建這兩個標籤? – Steve

回答

1

你最好的選擇是初始化標籤爲隱時現的形式加載,那麼當窗體SHOWN那麼您需要運行代碼...

編輯:我意識到,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; 
     } 
    } 
+0

問題標記爲VB(並根據OP的代碼判斷,確實是在使用什麼),爲什麼使用C#作爲答案? – Jeroen

0

這結束了工作:

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 

末級