Как правильно реализовать проверку при binding-е двух text-box? В C# (Windows Form)
Сделал привязку текстового поля 1-го User-Control к другому следующим образом. Они теперь полностью воспроизводят друг друга.this.controlFIO.FIO_T_FA.DataBindings.Add( "Text", this.controlFIO_M.FIO_T_FA, "Text", true, DataSourceUpdateMode.OnValidation );
Каким образом можно добавить дополнительное условие перед binding-ом, чтобы значение подхватывалось только, если text-box пустой?

21 Авг 2019 в 07:01
210 +1
1
Ответы
1

Для добавления дополнительного условия перед binding-ом, чтобы значение подхватывалось только, если text-box пустой, можно использовать событие Validating для текстового поля, к которому вы привязываете значение.

Пример кода:

private void controlFIO_FIO_T_FA_Validating(object sender, CancelEventArgs e)
{
TextBox textBox = (TextBox)sender;
if (string.IsNullOrEmpty(textBox.Text))
{
this.controlFIO.FIO_T_FA.DataBindings.Clear();
this.controlFIO.FIO_T_FA.Text = this.controlFIO_M.FIO_T_FA.Text;
this.controlFIO.FIO_T_FA.DataBindings.Add("Text", this.controlFIO_M.FIO_T_FA, "Text", true, DataSourceUpdateMode.OnValidation);
}
}

В данном примере, если текстовое поле controlFIO_FIO_T_FA пустое, то происходит очистка binding-а и значение текстового поля устанавливается равным значению текстового поля controlFIO_M.FIO_T_FA. Затем снова добавляется binding только если текстовое поле пустое.

20 Апр 2024 в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 96 005 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир