Using the name works fine, but you can also test the object itself using
the "Is" keyword to see if it is actually one of your controls.
Public Sub MyTextBoxHandler(ByVal sender As Object, ByVal e As System.EventArgs)
_
Handles TextBox1.TextChanged, TextBox2.TextChanged, TextBox3.TextChanged
If (sender Is TextBox1) Then
' ----- Do text box #1 stuff.
ElseIf (sender Is TextBox2) Then
' ----- Do text box #2 stuff.
ElseIf (sender Is TextBox3) Then
' ----- Do text box #3 stuff.
End If
' ----- Then add common code here.
End Sub
Even though, I think it is generally best to handle each control separately,
and call common routines where there are overlaps.
-----
Tim Patrick
Start-to-Finish Visual Basic 2005
Quote:
Arne,
I use Tim's approach a lot and it works well. So, you can give your
controls
unique names and in code use the AddHandler method to set the method
for
whatever event it is you are trying to handle. So, you would write a
function, say TextBox_Click(sender as Object, e as EventArgs)
Then, use the AddHandler method:
AddHandler mytextbox.Click, AddressOf TextBox_Click
Then, in your TextBox_Click routine, you could cast the sender object
to a
textbox object and check its name.
So:
Dim myTxt as TextBox
if Typeof sender is TextBox then
myTxt = DirectCast(sender, TextBox)
end if
select case myTxt.Name.ToLower
case "myname"
' do something
case else
' do something else
end select
I wasn't looking at the docs when I wrote this so forgive if I've
messed up an parameters to functions
>
:)
Steve
"Arne Beruldsen" <ArneBeruldsen@discussions.microsoft.comwrote in
message news:E9270B7B-460E-42A1-9C8C-921CB012001F@microsoft.com...
>
Quote:
>I'm a recent convert to VB.net from VB6...and I can't believe they
>don't support control arrays. I have an app that uses a ton of
>Control Arrays...mostly labels and text boxes.
>>
>I need some guidance on how to proceed...including any third party
>tools.
>>
>Thanks
>>