わかりましたので、フォームに多数のボタンがあり、クリックされたボタンに基づいて特定の番号を表示するラベルが必要です。たとえば、ボタンの行 1 のボタンのいずれかがクリックされた場合、ラベルには 10 が表示されます。行 2 のボタンのいずれかがクリックされた場合、ラベルには 17 が表示されます。
2 に答える
2
キーワードを使用してHandles
、1 つのメソッドを使用して、複数のオブジェクトから複数のイベントを処理できSub
ます。たとえば、次のようになります。
Private Sub Row1ButtonHandler(ByRef obj As Object, ByRef ea As EventArgs) _
Handles Button1.Click, Button2.Click, Button3.Click
Label1.Text = "1"
End Sub
Private Sub Row2ButtonHandler(ByRef obj As Object, ByRef ea As EventArgs) _
Handles Button4.Click, Button5.Click, Button6.Click
Label1.Text = "17"
End Sub
ご覧のとおり、これらの各ハンドラ メソッドは、行内のいずれかのボタンがクリックされるたびに呼び出されるようになりました。
AddHandler
ただし、およびRemoveHandler
関数を使用してプログラムでイベント ハンドラーをセットアップする方が簡単な場合があります。
For c As Int32 = 0 to 10
Dim btn As Control = Page.FindControl("Button" & c)
AddHandler btn.Click, AddressOf MyEventHandler
Next c
ここではジェネリックを使用Control
し、Web ページを見ていると想定していますが、おそらく LinkButton コントロールを使用することで、より具体的になる可能性があることに注意してください。
于 2013-02-27T12:45:30.607 に答える
0
すべてのボタンにハンドルを使用し、送信者の値でボタンを取得してから、ロジックを追加できます。あなたを助けるかもしれません...
于 2013-02-27T12:50:46.587 に答える