문제

내 양식에 약 10 개의 버튼이 있으며 동일한 클릭 이벤트 핸들러를 호출하기를 원합니다.

그러나 이벤트 핸들러가 일반화되어야하며 vb.net에 "이"키워드가 없어 이벤트를 일으킨 컨트롤을 참조하십시오.

vb.net에서 "이"키워드의 기능을 어떻게 구현합니까?

다음을 수행하는 이벤트 핸들러를 쓸 수 있기를 원합니다.

Private Sub cmdButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdButton1.Click

    currentTag = this.Tag

End Sub
도움이 되었습니까?

해결책

vb.net에서 "이"키워드의 기능을 어떻게 구현합니까?

this 호출됩니다 Me VB에서. 그러나 이것은 귀하의 코드와 관련이 없으며 포함 된 클래스를 말합니다. 귀하의 경우 대부분의 경우 Form. 당신은 액세스해야합니다 sender 객체 매개 변수를 캐스팅 한 후 Control:

currentTag = DirectCast(sender, Control).Tag

다른 팁

~ 안에 vb.net, Me C#과 동일합니다 this.

나는 당신이 원한다고 생각합니다 Me 예어.

vb.net에서 this 로 지칭됩니다 me, vb.net의 핸들러에 관한 두 번째 질문에 대한 솔루션은 다음과 같습니다. Handles a의 끝에 Private Sub 진술, 좋아요 :

Private Sub cmdButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles cmdButton1.Click, 'cmdButton2.click, cmdButton3.click'

    currentTag = this.Tag

End Sub
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top