1

内部にいくつかのラベルと画像を含むユーザー コントロールを作成しました。

次に、このユーザー コントロールをフォームに追加しました。

フォーム イベントでは、関数を発生させる UserControl_click イベントを設定しました。

私が抱えている問題は、ラベルも画像もない UserControl 背景をクリックすると、関数が発生することです。しかし、コントロール内のラベルまたは画像をクリックしても、関数は発生しません。

コントロールの背景をクリックするときよりも、ユーザー コントロール内のコントロールをクリックするときと同じ動作が必要です。

4

2 に答える 2

1

ラベルはクリック イベントをキャプチャします。Click イベントをサブスクライブし、UserControl_click から呼び出すのと同じハンドラーを呼び出します。

于 2013-02-26T15:08:48.133 に答える
0

UserControl 内の各コントロール クリック イベントに関数を追加する必要があります。

Public Event ControlClick(sender As Object, e As EventArgs)

Private Sub uc1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    For each elem As Control in Me.Controls
        AddHandler elem.Click, AddressOf RaiseClick
    Next
End Sub

Private Sub RaiseClick(sender As Object, e As EventArgs)
    RaiseEvent ControlClick(sender, e)
End Sub

そして、外側では両方のイベントをキャッチします:

Public Sub UserControl_click(sender As Object, e As EventArgs) _
                           Handles UserControl1.Click, UserControl1.ControlClick
    '...
End Sub
于 2013-02-26T15:36:35.323 に答える