質問

私は自分のフォーム上の周りに10個のボタンを持っていると私は彼らが同じClickイベントハンドラを呼び出したい。

しかし、そのために、私は一般化するために、我々はイベントを発生させたコントロールを参照するために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はVBにMeと呼ばれています。しかし、これはあなたのコードとは何の関係も持っていないし、あなたの場合、おそらく現在のFormで、含むクラスを指します。あなたはsenderにキャストした後、Controlオブジェクトパラメータにアクセスする必要があります:

currentTag = DirectCast(sender, Control).Tag

他のヒント

VB.NET には、Meは、C#のthisと等価です。

私はあなたがMeキーワードをしたいと考えています。

VB.NETのthismeと呼ばれ、VB.NETのためのハンドラに関するあなたの2番目の質問のためのソリューションですされます:

:あなたは同様に、Handles文の末尾に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