Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
alexey_baranov
4 / 4 / 4
Регистрация: 06.05.2010
Сообщений: 180
1

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

06.05.2010, 14:17. Просмотров 1031. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2010, 14:17
Ответы с готовыми решениями:

Как программно опрелить что на форме есть объект Timer
Доброго времени суток. Собственно сабж. Есть функция, которая в качестве параметра принимет форму....

Получение указателя на объект .Net. Как это правильно реализовать?
Не понятно с первой же строки Как это всё заложить в компилятор?...

Как правильно заполнить объект SqlDataTable?
Доброго всем времени, возникла ошибка при заполнении таблицы в методе Grid_Fill из MS SQL в...

Как правильно создать объект Command при помощи мастера с параметрами
Здравствуйте. Делаю программу демонстрирующую объекты Command с использованием именованных...

Как правильно обновить dataGridView1 после update в отдельной форме
Здравствуйте! В главной форме имеем dataGridView1. Заполняем dataGridView1 вручную Кнопкой...

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

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

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

Добавлено через 18 часов 48 минут
Мда. и все что-ли и никто не подскажет?
0
alexey_baranov
4 / 4 / 4
Регистрация: 06.05.2010
Сообщений: 180
14.07.2010, 07:57  [ТС] 4
Случайно нашел:
В биндинге надо поставить биндингТриггер= Эксплисит;
По кнопке "ОК" вызывать биндинг.УпдэйтСорс();
0
14.07.2010, 07:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2010, 07:57

Как правильно хранить объект на сервере?
Как хранить мой объект на сервере? Вот так работать правильно или нет? Т.е. я создал объект и...

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

Как забиндить массив на элементы ListBox
Вообще вопрос в том, как забиндить массив, на айтемы листбокса.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru