Mohammad Abdullaha Ответов: 2

Как обновить привязанное текстовое поле из кода C#


Я работаю над небольшим проектом WinForm в VS 2010 C#, я создал класс Customer с двумя свойствами (CusID & CusNm). И я нарисовал ComboBox и TextBox на контейнере панели, нарисованном на форме, (ComboBox для CusNm & TextBox из CusID). Я использовал два объекта привязки для привязки свойств customer1.CusNm & customer1.CusID с ComboBox и TextBox соответственно, эти две привязки прошли хорошо, а также значения клиента.CusID и customer1.CusNm обычно появляются в текстовом поле и выпадающем списке. Но когда я пытаюсь присвоить значение для customer1.CusID в коде ( например:
customer1.CustID = 100; ) , новое значение не отражается в текстовом поле, а старое значение (которое равно: 0 ) все еще остается в текстовом поле. Итак, как я могу сделать так, чтобы текстовое поле обновлялось с новым значением, когда я назначаю его с помощью кода C#?

Огромное спасибо

Что я уже пробовал:

Я просмотрел переплет, но, кажется, все в порядке..

<br />
binding bdCusID = new binding ("Text", customer1,"CusID");<br />
TextBox1.bindings.add(bdCusID);<br />
customer1.CustID = 100; <br />
<pre lang="c#"></pre>

2 Ответов

Рейтинг:
19

0x01AA

Вам нужно реализовать INotifyPropertyChanged в вашем классе клиентов.

Здесь вы найдете пример того, как это сделать: INotifyPropertyChanged Интерфейс (System.ComponentModel) | Microsoft Docs[^]


Mohammad Abdullaha

Спасибо тебе, друг. Я последовал примеру, описанному на странице со ссылкой, которую вы предоставили, и все прошло хорошо..

Рейтинг:
0

Gerry Schmitz

Используйте SelectedIndex или SelectItem для "выбора" в поле со списком (например, элемент управления списком).

комбинированный список.Свойство SelectedIndex (System.Окна.Формы) | Microsoft Docs[^]


Mohammad Abdullaha

Но, я хочу, чтобы это было для текстового поля. Когда я изменяю значение customer1.CusID из кода, текстовое поле должно обновляться с новым значением.