Вы можете запретить пользователю перемещать фокус из UserControl с помощью события Validating. Например:
protected override void OnValidating(CancelEventArgs e) {
foreach (Control ctl in this.Controls) {
if (errorProvider1.GetError(ctl) != "") e.Cancel = true;
}
base.OnValidating(e);
}
Использование ErrorProvider.GetError (), как это не идеально, хотя это может работать. Возможно, вы захотите сохранить свой собственный список ошибок проверки.