2013年3月26日 星期二

[VB教學]事件與Timer教學

「事件」(Event)都是藉由使用者的操作來觸發,像是按下某個按鈕,Visual Basic處理事件的方式是委託函數處理,官方的講法是由「傾聽者」(Listener)處理.
例如:          [事件] 按下Button1 =========> [傾聽者]  由Button1_Click()委託處理
程式範例 :
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click  '也可以一次Handle多個按鈕事件
    MsgBox("按了")
End Sub
有時候,我們需要的不是由使用者動作來驅動事件,而是由時間驅動,那我們就需要計時器(Timer)來幫我們計算時間,時間到才觸發事件

例一:  我們希望電子時鐘每秒更新他的顯示狀態   [例一範例碼下載]
  • 首先先在工具箱拉入Timer.且在Form1中拉入一個Lable

  • 再連點Timer1兩下,在Form1.vb中會出現下面Sub
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick   
               '在這裡填上你想做的動作
                Label1.Text = Now  '將現在時間填進Lable1
End Sub
  • 最後,點一下Timer1,看他的屬性視窗,將Enabled屬性設為TrueInterval(時間間隔)設成1000(單位:毫秒),該計時器會在程式一執行的時候自動啟動,並且每一秒觸發一個Timer Tick事件。 

  • 按下F5開始偵錯執行,就可以看到小時鐘的結果
例二: 定時行事曆
此例有定時功能,一項行程排定,時間到通知,並每1000豪秒更新現在時間,每100豪秒更新Ticks欄位,其他時間欄位也要隨時間更新[例二範例程式碼下載]
  • 我們將Timer1的Interval設成100,Timer2的Interval設成1000,兩者的Enabled設True,再用Timer1與Timer2來觸發TextBox欄位更新

  •  接下來寫定時的功能,當定時的checkBox被打勾時,開始檢查時間是否已經到達

  • 行事曆排的功能也是每秒檢查,行程日期是否已經到達,

其他程式細節可以下載範例程式參考

回VB文章列表

沒有留言:

張貼留言

歡迎留言討論,沒有登入也可以留言