VB.NET Sender的作用是什么? [英] VB.NET What is Sender used for?

查看:359
本文介绍了VB.NET Sender的作用是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对Winform控件中sender参数的用途感到困惑,例如:

I'm confused as to the purpose of the sender parameter in Winform controls, for example:

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

End Sub

我了解我可以通过执行以下操作来验证sender的内容:

I understand i can verify what sender holds by doing something as so:

If TypeOf sender Is Label Then
 'Execute some code...
End If

但是,当发送方为我生成子例程时,是否有充分的理由将发送方包含在每个控件中?换句话说,我双击一个表单,然后得到Private Sub form_load (sender....) e As System.EventArg s.

But is there a good reason that sender is included in every single control when it generates the sub-routine for me? In other words, i double click on a Form and i get the Private Sub form_load (sender....) and e As System.EventArgs.

这两个参数的常见用法是什么?总是需要它们吗?

谢谢

大雁D.

推荐答案

sender包含事件的发送者,因此,如果将一个方法绑定到多个控件,则可以区分它们.

sender contains the sender of the event, so if you had one method bound to multiple controls, you can distinguish them.

例如,如果您有十个按钮,并且想要将其文本更改为您单击了我!".当您单击其中的一个时,您可以可以为每个人使用一个单独的处理程序,每次使用不同的按钮名称,但是一次处理所有这些人会更好:

For example, if you had ten buttons and wanted to change their text to "You clicked me!" when you clicked one of them, you could use one separate handler for each one using a different button name each time, but it would be much better to handle all of them at once:

Private Sub Button_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click, Button5.Click, Button6.Click, Button7.Click, Button8.Click, Button9.Click
    DirectCast(sender, Button).Text = "You clicked me!"
End Sub

这篇关于VB.NET Sender的作用是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆