그것은 단지 몇 라벨 이상 지루한 것
Private Sub LI_Click(sender As Object, e As EventArgs) Handles Label1.Click, Label2.Click, Label3.Click
의 스타일로 하나의 핸들러에 여러 이벤트를 쉽게 추가 할 수 있지만.
핸들러를 추가해야하는 레이블을 참조 할 수있는 방법을 찾을 수 있으면 프로그램 방식으로 핸들러를 추가 할 수 있습니다. 당신은 핸들러를 사용하는 라벨을 선택하는 다른 방법이있을 수 있습니다
Option Infer On
Option Strict On
Public Class Form1
Sub TransferDataToEditBox(sender As Object, e As EventArgs)
Dim lbl = DirectCast(sender, Label)
tbEditThis.Text = lbl.Text
End Sub
Sub InitLabelHandlers()
For Each lbl In GroupBoxOptions.Controls.OfType(Of Label)
AddHandler lbl.Click, AddressOf TransferDataToEditBox
Next
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
InitLabelHandlers()
End Sub
End Class
:이 예제에서, 나는 그룹 상자에 이름이 "GroupBoxOptions을"모든 레이블을 넣어.
레이블에는 다른 레이블과 구분하기 위해 공통된 것이 있습니다 (예 : 모두 그룹 상자에 있음). –
모두 같은 위치에 쓰는 경우 모든 레이블을로 나열하여이 코드를 단순화 할 수 있습니다. . . LI_L.Click, LI_M.click을 처리합니다. . . . 등등. 그런 다음 특정 레이블을 sender.text – peterG
으로 바꾸십시오.이 문서를 확인하십시오. [MSDN] (https://msdn.microsoft.com/en-us/library/aa289500(v=vs.71).aspx) – Abood