private void ConfermaButton_Click(object sender, EventArgs e) { SaldoForm.ErrorProvider.Clear(); try { Saldo saldo = new Saldo((Utente)SaldoForm.DaComboBox.SelectedItem, (Utente)SaldoForm.AComboBox.SelectedItem, SaldoForm.NumericUpDown.Value, SaldoForm.DateTimePicker.Value); saldo.AggiungiMovimentoDiDenaro(); if (DaModificare != null) { DaModificare.RimuoviMovimentoDiDenaro(); } Observer.AggiornaUI(); SaldoForm.DialogResult = DialogResult.OK; } catch (ArgumentException ae) { Control control; switch (ae.ParamName) { case "importo": control = SaldoForm.NumericUpDown; break; case "data": control = SaldoForm.DateTimePicker; break; default: control = SaldoForm.ConfermaButton; SaldoForm.ErrorProvider.SetIconAlignment(control, ErrorIconAlignment.MiddleLeft); break; } SaldoForm.ErrorProvider.SetError(control, string.IsNullOrEmpty(ae.ParamName) ? ae.Message : ae.Message.Substring(0, ae.Message.IndexOf('\n'))); } }