2012-07-27 43 views
0

我有動態添加到表單上的標籤,每個標籤都在其標籤下有一個鏈接。 我也有AddHandler lbTitle.Click的動態標籤,但是當我嘗試這樣做,這是行不通的:動態標籤與處理程序

Private Sub lbTitle_Click(ByVal sender As Object, ByVal e As EventArgs) 
    Process.Start(e.Tag) 
End Sub 

因爲

「標記」是不是系統」的成員。 EventArgs'

我該如何解決這個問題,以便當有人點擊動態添加的標籤時,它會從標籤的標籤中啓動url。

回答

0

要添加的事件處理程序,你需要的AddressOf Operator

AddHandler lbTitle.Click, AddressOf lbTitle_Click 

要獲得在事件處理程序中引用你的Label,您可以使用sender參數:

Private Sub lbTitle_Click(ByVal sender As Object, ByVal e As EventArgs) 
    Dim label = DirectCast(sender, Label) 
    Process.Start(label.Tag.ToString()) 
End Sub 
+0

我已經有AddressOf運算符,但我並沒有把整個線。但你的答案仍然有幫助。 – CodexVideos 2012-07-27 23:51:11

0

發件人的說法是標籤,但您需要先將其轉換爲Label類型,然後才能訪問其Tag屬性。

Process.Start(CType(sender, Label).Tag) 

或者,以處理任何類型的控件,你可以將它轉換爲基本控制類型,而不是:

Process.Start(CType(sender, Control).Tag)