Форум программистов, компьютерный форум, киберфорум
Spawn
Войти
Регистрация
Восстановить пароль
Оценить эту запись

Как внести изменения в ListBox

Запись от Spawn размещена 26.06.2014 в 09:39
Обновил(-а) Spawn 26.06.2014 в 09:42
Метки c#, winforms

Очень часто сам забываю, что и WinForms с привязкой данных дружит, пусть и очень скудны средства, но определённые вещи без наворотов WPF тоже можно сделать.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
        public Form1()
        {
            InitializeComponent();
            // инициализируем коллекцию
            ListData = new BindingList<MyData>(); 
        }
 
        /// <summary>
        /// Коллекция значений для источника данных
        /// </summary>
        public BindingList<MyData> ListData { get; private set; }
        
        private void Form1_Load(object sender, EventArgs e)
        {
            // текстовое поле
            TextBox tbEdit = new TextBox() 
            { 
                Dock = DockStyle.Bottom 
            };
            // список
            ListBox lbList = new ListBox()
            {
                Dock = DockStyle.Fill,
                DisplayMember = "Value"
            };
            // Источник привязки данных
            BindingSource bs = new BindingSource(this, "ListData");
            for (int i = 0; i < 10; i++)
                ListData.Add(new MyData() { Value = "Значение " + i });
            // задаём источник привязки в качестве источника данных для списка
            lbList.DataSource = bs;
            // связываем свойство Text у текстового поля со свойством Value (класс MyData)
            // DataSourceUpdateMode.OnPropertyChanged - моментальная реакция на изменение значения в текстовом поле
            tbEdit.DataBindings.Add("Text", bs, "Value", false, DataSourceUpdateMode.OnPropertyChanged);
 
            // кладём контролы на форму
            Controls.AddRange(new Control[] { lbList, tbEdit });
        }
 
        public class MyData
        {
            public string Value { get; set; }
        }
На событие загрузки формы не забываем подписаться.
Вложения
Тип файла: rar WPListBoxBind.rar (9.4 Кб, 227 просмотров)
Размещено в WinForms
Показов 2553 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru