Я не использую VB.NET (так что учтите синтаксические ошибки).Тем не менее, обратите внимание, что каждое «else if» может быть тривиально переписано как «else» с вложенным «if».Многие языки, например, основанные на C-синтаксисе, не имеют составного оператора «else if», но имеют более приятную поддержку операторов «висящего if».
В этом случае его можно переписать так:
If (TypeOf sender Is TabControl And TypeOf e.Control Is TabPage) Then
...
ElseIf (TypeOf sender Is TabPage) Then
...
Else
tabPageFound = FindTabPageOf(sender)
If (tabPageFound) IsNot Nothing Then
...
End
End If
Просто кое-что рассмотреть.
Для полноты картины показано удаление всего использования ElseIf
и полученная в результате вложенность:
If (TypeOf sender Is TabControl And TypeOf e.Control Is TabPage) Then
...
Else
If (TypeOf sender Is TabPage) Then
...
Else
tabPageFound = FindTabPageOf(sender)
If (tabPageFound) IsNot Nothing Then
...
End If
End If
End If