我对Winform控件中
sender
参数的用途感到困惑,例如:Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
End Sub
我知道可以通过以下方式验证sender
的内容:
If TypeOf sender Is Label Then
'Execute some code...
End If
但是,当每个控件为我生成子程序时,是否有充分的理由将发送者包含在其中?换句话说,我双击一个表单,然后我得到了 Private Sub form_load (sender....)
和 e As System.EventArg
。
这两个参数的常见用途是什么?它们总是必需的吗?
DirectCast
是因为sender
被声明为一个Object
(这是事件处理程序的工作方式),我可以假设它是一个Button
,所以我没有进行检查就进行了强制转换。如果你在不开启Option Strict On
的情况下编码,那么代码 会 编译通过,但运行速度会变慢,而且后期发现错误会更加困难。(专业提示:一定要开启Option Strict On
!它在你的设置中。) - Ry-