2011-11-25 13 views
9

Herezje mój sub:Jak określić, jaki typ obiektu jest nadawcą wydarzenia?

Dim onThisTable as String ="Name" 

Private Sub skill_mouseHover(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.MouseHover, button2.MouseHover, panel1.MouseHover, panel2.MouseHover, pbox1.MouseHover 
    descriptionLabel.Text = dbClass.getDescription(sender.Text, onThisTable) 
End Sub 

Teraz pragnę dać onThisTable inną wartość w zależności od tego, co przekazać użytkownikowi przez (panel lub pbox lub przycisk), ale nie mogę znaleźć to, co jest poprawny sposób porównać, jaki rodzaj to jest ...

Private Sub skill_mouseHover(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.MouseHover, button2.MouseHover, panel1.MouseHover, panel2.MouseHover, pbox1.MouseHover 
    if sender is (a button) 
    onThisTable = "Admin" 
    else if sender is (a panel) 
    onThisTable = "dbObject" 
    else 
    onThisTable ="Name" 
    end if 

    descriptionLabel.Text = dbClass.getDescription(sender.Text, onThisTable) 
End Sub 

Odpowiedz

18

można użyć słowa kluczowego typeof jak descibed tutaj (link)

If TypeOf sender Is Button Then 
     onThisTable = "Admin" 
    ElseIf TypeOf sender Is System.Windows.Forms.Panel Then 
     onThisTable = "dbObject" 
    Else 
     onThisTable = "Name" 
    End If 
+0

aaa, typeof wielki, tx za zbyt szybką odpowiedź –

Powiązane problemy