Private Sub txtAddress1_Change() If Not mflgLoading Then oBusObject.TextChange ActiveControl End Sub Private Sub txtAddress1_Validate(Cancel As Boolean) ActiveControl.Text = oBusObject.TextValid(ActiveControl, Cancel) End SubI deleted all the Change and Validate code and replace them with a GotFocus on each text box. It looks like this:
Private Sub txtAddress1_GotFocus() Set oBusObject.TextBox = ActiveControl Set oBusObject.ActiveControl = ActiveControl End SubAnd added the following to oBusObject:
Public WithEvents TextBox As TextBox Public ActiveControl As TextBox Private Sub TextBox_Change() ' Process Change business rules based on properties of ActiveControl End Sub Private Sub TextBox_Validate(Cancel As Boolean) ' Process Validate business rules based on properties of ActiveControl End SubIt's still more code than true inheritance but it works! An unlike my previous method I only need to populate one method (event) for each control.