Вы можете подключиться к событию TabControl.SelectedIndexChanged , а в некоторых случаях лучше подключиться к событию TabControl.Selecting .
Затем в событииутвердите критерии, которые у вас есть для вкладки, на которой вы находитесь, если она хорошая, то все в порядке, если она не завершена / недействительна, то вы можете отменить изменение вкладки (используя e.Cancel, например, из выборасобытие, см. пример на связанной странице) из этих событий, возвращая вас туда, где вы были, и, надеюсь, с сообщением или чем-то еще, чтобы показать пользователю, что не так с вводом.