2015-06-02 52 views
0

要開始,嗨給大家即時通訊新的stackoverflow,也是新的編程(在1º年)。 我一直在尋找,但我沒有發現任何回答我的問題,或者即時只是爲了新手理解答案,所以如果太簡單,我不能看到它!如何處理來自控件數組的事件VB.net

/*我的家鄉lenguage不是英語*/

這裏是我的問題,我正在做VB形式絲毫200個pictureboxes有改變或點擊

我做了一個互動控件數組白衣所有的人,像這樣的:

Dim control(199) As PictureBox = Controles(control, 0) 


Function Controles(ByRef control As Array, ByVal cont As Integer) 

    For Each pic As PictureBox In Me.Controls 

     control(cont) = pic 
     cont += 1 

    Next 
    Return control 
End Function 

這應該asociate每個圖片框到一個數組位置,我現在的問題是如何設置的事件處理程序以控制觀看()點擊所以不管是什麼。框中單擊事件onclick將處理。

我知道的唯一方法是爲每個框手動創建一個點擊處理程序。

希望我能找到一些答案

+1

查看您最喜歡的vb.net書籍或MSDN中的AddHandler語句。 –

回答

2

使用Addhandler語句,您可以它們接到相同的程序。然後轉換髮件人對象以與點擊的PB進行交互。 OfType功能。

Private Sub LoadME() Handles Me.Load 
For Each pb As PictureBox In Me.Controls.OfType(Of PictureBox)() 
    'add all PB click events to a event sub 
    AddHandler pb.Click, AddressOf pb_Click 
Next 
End Sub 

Private Sub pb_Click(sender As Object, e As EventArgs) 
    Dim pb = DirectCast(sender, PictureBox) 
    'this is the PB that was clicked 
End Sub 
+0

非常感謝您的回答,您剛剛爲我節省了1200條代碼行 –

+0

歡迎您! – OneFineDay

相關問題