2016-07-09 50 views
0

您好, 我一直在爲我的所有應用程序的自定義控件庫,但我也希望它是開源的,所以它需要易於使用。提高Me.Click在自定義用戶控件(VB.Net)

我想,當你點擊Panel1(面板)或BtnText(標籤)使用Me.Click事件,因此這將引發該事件Click,但由於某種原因,它不會讓我使用該事件在RaiseEvent

這裏是我的代碼:

Public Sub BtnText_Click(sender As Object, e As EventArgs) Handles BtnText.Click 
    RaiseEvent Click() 
End Sub 

Public Sub Panel1_Click(sender As Object, e As EventArgs) Handles Panel1.Click 
    RaiseEvent Click() 
End Sub 
+0

你聲明Click事件?如果它將被釋放,你可能想要使用標準的事件簽名:'sender As Object,e As EventArgs'就像你正在使用的點擊 – Plutonix

+0

@Plutonix謝謝,它說我必須使它成爲一個影子,所以我做了,有效。 – MarCodeRed

+0

由於UC已經有這樣一個事件,你的自定義的可能是'ItemClick'或者其他的。確定他們可以告訴*被點擊了什麼。 – Plutonix

回答

1

來傳播事件給用戶控件可以調用的OnClick方法:

Public Sub BtnText_Click(sender As Object, e As EventArgs) Handles BtnText.Click 
    Me.OnClick(e) 
End Sub 

Public Sub Panel1_Click(sender As Object, e As EventArgs) Handles Panel1.Click 
    Me.OnClick(e) 
End Sub