我有一个Visual Basic web应用程序,在其中我将在网页上显示一个5x5的网格。每个网格框将包含一个按钮。我希望能够在任何按钮被单击时访问按钮属性。我假设我将创建一个私有函数来处理每次按钮单击(我将创建25个函数),但我希望每个私有函数都调用一个公共函数,该函数将接收对象和网格坐标。
我在网页上的按钮被称为btn_column1_row1、btn_column2_row1、btn_column3_row1、btn_column4_row1、btn_column5_row1、btn_column1_row2等。
我想像这样编写私有函数:
Private Sub btn_column1_row1_Click(sender As Object, e As EventArgs) Handles btn_column1_row1.Click
inspectButton(e,100,1,1)
End Sub
Private Sub btn_column2_row1_Click(sender as Object, e As EventArgs) Handles btn_column2_row1.Click
inspectButton(e,100,2,1)
End Sub
Private Sub btn_column5_row5_Click(sender as Object, e As EventArgs) Handles btn_column5_row5.Click
inspectButton(e,500,5,5)
End Sub然后,函数inspectButton应该如下所示:
Function inspectButton(ByVal e as EventArgs, textvalue, column, row)
Dim Question as string = Session("question")
Dim Answer as string = Session("answer")
if e.text = textvalue then
e.text = Question(column, row)
else
e.text = Answer(column, row)
end if
return
End Function这是将按钮对象传递给inspectButton函数的正确方式吗?
发布于 2019-11-25 21:49:32
Private Sub btn_Click(sender as Object, e As EventArgs) Handles btn_column1_row1.Click, btn_column1_row2.Click, btn_column3_row5.Click, btn_column5_row5.Click, btn_column5_row1.Click 'etc
inspectButton(sender)
End Sub
Function inspectButton(ByVal btn as Object)
Dim Question as string = Session("question")
Dim Answer as string = Session("answer")
if btn.Text = btn.Text then
btn.Text = Question(btn.column, btn.row)
else
btn.Text = Answer(btn.column, btn.row)
end if
return
End Function也许这可以成为一种解决方案。我无法理解传递的文本值、列和行参数...
您可以使用单个sub处理多个事件。
https://stackoverflow.com/questions/59023417
复制相似问题