Да, я повторяю, если я использую кнопку, чтобы изменить выбранную вкладку. TabControl заставляет фокус на себя, прежде чем он изменит SelectedIndex. Похоже, это было сделано, чтобы избежать проблем с событием Validating. Изменение фокуса приводит к первому событию Enter, для активной вкладки смена вкладки приводит ко второму событию Enter.
Зная это, вы можете установить вспомогательный логический элемент, указывающий, что первое событие Enter следует игнорировать. Будьте внимательны, чтобы убедиться, что текущая вкладка уже не та, которую вы хотите выбрать. В идеальном мире это поведение не должно иметь значения. Фокус действительно действительно переместился на активную вкладку первым.