У меня есть форма, которая проверяется на кнопке сохранения методом ValidateChildren
.
Id
поле также имеет validating
и validated
, чтобы обеспечить быструю повторную загрузку (различных) документ из базы данных.
Фактическая проблема заключается в том, что при отправке формы: IdText
элемент управления не должен получить проверено ввсе, иначе модель будет перезагружена.Решения?
private void IdText_Validating(object sender, CancelEventArgs e)
{
try
{
int n = 0;
var isNumeric = int.TryParse(IdText.Text, out n);
if (!isNumeric)
{
e.Cancel = true;
throw new Exception("Valore inserito non valido");
return;
}
dxErrorProvider.SetError(IdText, null);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Errore", MessageBoxButtons.OK,
MessageBoxIcon.Error);
return;
}
}
private void IdText_Validated(object sender, EventArgs e)
{
try
{
int n = 0;
var isNumeric = int.TryParse(IdText.Text, out n);
if (!isNumeric) throw new Exception("Valore inserito non valido");
model = Registrazione.Manager.GetRegistrazione(n);
if (model == null) throw new Exception("Registrazione con id " + n + " non trovata.");
model.PropertyChanged += OnModelPropertyChanged;
BindMovimentiEventHandlers(null, null);
CaricamentoRegistrazione_Load(sender, null);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Errore", MessageBoxButtons.OK,
MessageBoxIcon.Error); return;
}
}