2

私はすべてそのようにコード化されたいくつかのラベルを持っています:

Public assessment_menu_button As New Label
Public current_label_clicked As New Label

AddHandler assessment_menu_button.Click, AddressOf click_assessment_menu_button

Private Sub click_assessment_menu_button(ByVal sender As System.Object, 
                                         ByVal e As System.EventArgs)
   current_label_clicked = sender
   ' do some other stuff
End Sub

次に、プログラムの後半で、 current_label_clicked に配置されたラベルをクリックしてクリックイベントを発生させる必要がある Sub があります。何かのようなもの

Private Sub whatever()
    current_label_clicked.performClick()
End Sub

しかし、ラベルではそれができません。

では、ラベルのクリック イベントを発生させるにはどうすればよいでしょうか。

ありがとう。

4

2 に答える 2

1

イベント ハンドラー メソッドを直接呼び出すのは不適切な形式と見なされます。ラベルがクリックされたときに呼び出す必要があるコードをメソッドに配置し、ラベル クリック ハンドラーとそのメソッドの両方からそのメソッドを呼び出します。

Private Sub click_assessment_menu_button(ByVal sender As System.Object, ByVal e As System.EventArgs)
    runLabelCode(sender)

    'other code here
End Sub

Private Sub runLabelCode(sender As Label)
    current_label_clicked = sender

    'other code here
End Sub

'elsewhere in the code
Private Sub Whatever()
    runLabelCode(Label1, Nothing)
End Sub
于 2013-08-27T14:29:19.747 に答える