Why are you manipulating the .CausesValidation property?
I was talking about changing the .Enabled property...
Code:
Private Sub txtProductID_TextChanged( ByVal sender As System.Object, _
ByVal e As System.EventArgs _
) Handles txtProductID.TextChanged
If txtProductID.Text.Length > 0 Then
btnSearch.Enabled = True
End If
End Sub