To write reusable routines that work with multiple types of controls, test the control type using the TypeName function in place of the TypeOf…Is statement. For example, take a look at this routine-you can reuse it in another project only if you also add the RichTextBox control to the Components list:
' save the selected text to an open file' works with TextBox and RichTextBox controlsSub SaveSelectedText(ctrl As Control, filenum As Integer) If TypeOf ctrl Is TextBox Then Print #filenum, ctrl.SelText ElseIf TypeOf ctrl Is RichTextBox Then Print #filenum, RichTextBox1.SelRTF End IfEnd Sub
To avoid this problem and gain additional benefits such as the ability to use a Select Case block, use the TypeName function instead:
Sub SaveSelectedText(ctrl As Control, filenum As Integer) Select Case TypeName(ctrl) Case "TextBox" Print #filenum, ctrl.SelText Case "RichTextBox" Print #filenum, RichTextBox1.SelRTF End SelectEnd Sub