sender is the object that triggered the event.
i.e. If this was a button click event sender would be the button clicked by the user.
This can be useful if more than one button shared the same event handler.
Best way to use it is to cast it too the correct type and then you will have access to it's properties.
Protected Sub TestButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TestButton.Click
dim b as button
b= DirectCast(sender, button)
'Can now access things like
b.Text = "OK"
messagebox.Show (b.Name )
'etc.
this can be useful in a scenario like below where more than one button shares the handler
Protected Sub TestButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TestButton.Click, TestButton2.Click 'notice handling bothe TestButton1 and 2 in the same function.
dim b as button
b= DirectCast(sender, button)
'Can now access things like
b.Text = "OK"
messagebox.Show (b.Name )
'etc.