0


0

フォームには約10個のボタンがあり、それらを同じClickイベントハンドラを呼び出すようにします。

しかしそのためにはEventハンドラを一般化する必要があり、イベントを引き起こしたコントロールを参照するためのVB.NETの "this"キーワードはありません。

VB.NETで "this"キーワードの機能を実装する方法

私は次のことを行うEventハンドラを書くことができるようにしたいです。

Private Sub cmdButton1_Click(ByVal送信者としてSystem.Object、ByVal eとしてSystem.EventArgs)

currentTag = this.Tag

終了サブ

4 Answer


7


_ VB.NETで "this"キーワードの機能を実装する方法 _

this`はVBでは`私 'と呼ばれています。 しかし、これはあなたのコードとは無関係であり、包含クラス、あなたの場合はおそらく現在の `Form`を参照します。 `Control`にキャストした後、 sender`オブジェクトパラメータにアクセスする必要があります。

currentTag = DirectCast(sender, Control).Tag


1


VB.NETでは、 Me`はC#の this`と同等です。


0


私はあなたが `Me`キーワードを欲しいと思う。


0


VB.NETでは this`は me`と呼ばれ、VB.NET用のハンドラに関する2番目の質問に対する解決策は以下のとおりです。 Private Sub`文の最後に Handles`を追加することができます。

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