привязать объект к текстовому полю c # - PullRequest
5 голосов
/ 30 сентября 2010

Я новичок в c # и ищу способ привязать свойство собственного объекта к значению текстового поля в обычной форме (сбрасывать свойство объекта каждый раз, когда значение вводитсяизменения).

Я прочитал некоторую информацию, и кажется, что это может быть сделано только для объектов базы данных.Можете ли вы дать мне дополнительную информацию.

Ответы [ 2 ]

13 голосов
/ 30 сентября 2010

Предполагая, что вы имеете в виду текстовое поле Windows Forms, говорите

textBox.DataBindings.Add("Text", obj, "SomeProperty");

всякий раз, когда вам хочется связать его.Привязки обычно выполняются в Form_Load обработчике событий, если, конечно, объект может быть получен в это время и если нет сложной логики с разными источниками данных.

Обратите внимание, что это будет работать только в одном направлении (изменение TextBox приведет к изменениям свойств объекта).Для синхронизации наоборот объект должен реализовывать интерфейс INotifyPropertyChanged.

0 голосов
/ 30 сентября 2010

Если вы хотите сохранить информацию между запусками приложения (т. Е. Сохранить ее при закрытии приложения и повторно отобразить при ее открытии), проще всего использовать конструктор Windows Forms (я предполагаю, что вы кодируете WinForms app) для привязки значения TextBox к настройке приложения. ( Эта статья о проверке предоставляет снимок экрана , аналогичный тому, что вы хотите.) (РЕДАКТИРОВАТЬ: Вот исключительная статья на эту тему: Исследование секретов постоянных настроек приложения . А вот страница фрагмента , которую я собрал, чтобы обсудить связывание.)

Эта привязка автоматически двусторонняя, в отличие от привязки, которую упоминает @gaearon. Вам просто нужно убедиться, что вы сохранили настройки (т.е. Properties.Settings.Default.Save()) перед закрытием приложения (например, в качестве обработчика события Form.Closing).

Если вам нужно больше разъяснений, оставьте комментарий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...