我是vb.net的新手,想知道这个问题。当您单击Web表单上的按钮控件时,visual studio会自动在后面的代码中为您输入此代码。
Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnFlightInfo.Click
end Sub
比如说,我想从另一个方法调用此方法。我该怎么办?我知道发件人是实际的按钮对象,但是e是什么?这是我到目前为止在另一个子中的内容。只是想更好地理解这种方法是如何工作的。
btnSave_Click(btnSave, ??what would you put there??)
答案 0 :(得分:2)
调用事件不是一个好主意,将代码从事件移动到另一个私有方法,并在两个地方调用它。
Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnFlightInfo.Click
' Call your private method
End Sub
Protected Sub AnotherMethod
' Call your private method again here
End Sub
答案 1 :(得分:1)
只需通过EventArgs.Empty
,按钮点击就没有什么重要的了。不过,您可以考虑将其反转:让另一个Sub
包含公共逻辑,并从Click
事件处理程序和您的其他方法调用它。
答案 2 :(得分:0)
你将使用委托 sender是按钮,e是被触发的事件 发件人是监听者,事件是捕手
答案 3 :(得分:0)
Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnSave.Click,btnsecond.Click
dim btn as button = ctype(sender,button)
if enter code here
btn.text =“save”
否则如果btn.text =“Second”
万一
'打电话给你的私人方法
结束子
'参见基于发件人,您可以找出您点击了哪个按钮 '如果你不得不打电话给另一种方法打电话 'btnsave_click(没什么,没什么)
'至于WhaT是事件args是那样的 'EventArgs表示与该事件相关的数据,可用于传递参数,'将信息状态信息提供给处理代码的事件处理程序,以决定做什么。在这种情况下,它只是表示空事件参数的EventArgs,但是对于'例如,如果你有ImageButton的Click处理程序,你会注意到它的事件参数'可以让你访问X和Y坐标。换句话说,事件参数可以由具有事件相关数据的更具体的类表示,具体取决于控件