С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
5 / 5 / 4
Регистрация: 06.05.2010
Сообщений: 180

Как правильно забиндить к форме объект

06.05.2010, 14:17. Показов 1675. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!

Например есть простой класс
C#
1
2
3
4
class Client{
    public string Name;
    public string Phone;
}
и предположим я хочу теперь создать форму, через которую пользователь будет менять свойства этого объекта. В этом и вопрос как это правильно сделать?

В идеале я хочу получить что-то такое.
C#
1
2
3
4
5
6
7
8
9
10
var form= new ClientForm;
form.client= client1;   //это клиент которого я буду править
if (form.showDialog() == DialogResult.OK){
   //тут свойства объекта client1 уже изменены согласно данным из формы
   //что-то там делаю...
}
else{
    //тут свойства объекта client1 как были до вызова формы, 
    //потому что пользователь передумал сохранять изменения и нажал кнопку "Отмена"
}

Я нашел в инете очень мало статей и еще меньше книг про это. В самой лучшей статье сказано сделать класс Client источником данных через меню "Данные / Показать источники данных" и потом перетащить его на форму. Все работает. Свойства объекта меняются через элементы управления. Все класно. Однако что если я в форме нажал кнопку "Отменить"? Как я теперь верну свойства объекта в начальное состояние, как было до появления формы?

Дайте ссылку на книгу и хотя бы большую стать, где детально расписан датабиндинг в WinForms .NET 3.5

Спасибо.

Добавлено через 6 минут
ссори перенес в форум Виндовс Форм. туда больше относитися
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.05.2010, 14:17
Ответы с готовыми решениями:

WPF | Как правильно забиндить PasswordBox?
Всем доброго дня. Есть кто сталкивался с passwordbox , и делал что то похожие. Xamp <TextBox Text="{Binding...

Как правильно забиндить сортировку по ключу
имеется вот такой контейнер vector<map<string,int>> conteyner; как правильно забиндить сортировку по ключу map<string,int> ...

Как правильно забиндить List<string> к ComboBox
есть класс Clfs, в котором есть private List&lt;string&gt; _listProjectName = new List&lt;string&gt;(); public List&lt;string&gt;...

3
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
06.05.2010, 14:17
1. Пишите этот класс в отдельном файле
2. Форма и класс должны быть в одном namespace (для удобства
3. Создаёте паблик переменную этого класса в форме и пользуетесь
0
5 / 5 / 4
Регистрация: 06.05.2010
Сообщений: 180
07.05.2010, 09:33  [ТС]
Цитата Сообщение от MAcK Посмотреть сообщение
и пользуетесь
КАК? это я все сделал а что дальше то?

как сделать, чтобы форма автоматически возвращала свойства объекта обратно, когда пользователь нажмет кнопку "Отмена"?

PS: наврал в первом куске кода вместо form.client= client1 правильно написать form.clientBindigSource.DataSource= client1

Добавлено через 18 часов 48 минут
Мда. и все что-ли и никто не подскажет?
0
5 / 5 / 4
Регистрация: 06.05.2010
Сообщений: 180
14.07.2010, 07:57  [ТС]
Случайно нашел:
В биндинге надо поставить биндингТриггер= Эксплисит;
По кнопке "ОК" вызывать биндинг.УпдэйтСорс();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.07.2010, 07:57
Помогаю со студенческими работами здесь

WPF: как правильно забиндить свойство контрола?
Делаю простейщий 'UserControl' с одним тестовым полем. SampleUserControl.xaml &lt;TextBlock Text=&quot;{Binding Path=CurrentValue}&quot; /&gt; ...

Как правильно дублировать в actionscript 2.0 и как правильно сделать объект для дублирования
Я только начал изучать actionscript и прошу мне помочь. Как правильно дублировать в actionscript 2.0 и как правильно сделать объект для...

Как масштабировать объект на форме
День добрый, подскажите пожалуйста, как в VB 2010 возможно задать масштаб объекта? Например, имеем pictureBox и нужно нарисовать на нем...

Как перемещать объект по форме?
Как можно перемещать объекты по форме в Delphi 7? Тоесть к примеру я нажал на кнопку и удерживая ее перемещаю объект по форме в любое ее...

Как правильно закрыть объект?
В отчете, при первом отктытии все отображается правильно, как задумано. После каждого нового открытия, в поле TQRRichText записываются...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru