2009年6月16日 星期二

AddHandler

For Each c As Control In Me.Controls
If TypeName(c) = "Label" Then
If c.Name.ToString.Substring(0, 3) <> "Not" Then
AddHandler c.MouseDown, AddressOf All_label_MouseDown
AddHandler c.MouseUp, AddressOf All_label_MouseUp
AddHandler c.Click, AddressOf ALL_label_Click
End If
End If
Next
下面是事件處理的部分
Private Sub ALL_label_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim O As Object = CType(sender, Label)
Select Case O.name.ToString
Case Is = "lab0", "lab1", "lab2", "lab3", "lab4", "lab5", "lab6", "lab7","lab8","lab9"
''0~9被按下的處理
Case Is = "labEqu"
''等於的按鈕
Case Is = "labAdd", "labSub", "labMul", "labDiv"
''四則運算處理
Case Is = "labClear"
''清除處理
End Select
End Sub

這樣子就可以一起處理,並且知道是哪一個Label發生Click事件了。
參考資料:http://www.ncis.com.tw/ncis_bbs/viewthread.php?tid=881
參考資料:http://msdn2.microsoft.com/zh-tw/library/kxt4418a(VS.80).aspx