Identifying a Generic Control at Run Time

Identifying a Generic Control at Run Time

When a procedure can operate on multiple types of controls, youcan use VB’s TypeOf function to determine a control type at runtime:

 Function myFunc(ctl as Control)        ' This code works in both VB3 & VB4        If TypeOf ctl Is TextBox Then                ' Code for text boxes here?        ElseIf TypeOf ctl Is CommandButton _                Then                ' Code for command buttons here?        End ifEnd Function

VB4 adds the new TypeName function, which allows you to test thecontrol’s type once, then branch based on the result:

 Function myFunc(ctl As Control)        Dim sCtlType as String        ' TypeName is new to VB4        sCtlType = TypeName(ctl)        Select Case sCtlType                Case "TextBox"                        ' Code for text boxes here?                Case "CommandButton"                        ' Code for command buttons                                 'here?        End Select        End Function

To learn the type (or class) name of a given control, highlightit at design time and look at VB’s Properties window. The typename appears to the right of the control’s name in the combo boxat the top of the window.


Share the Post: