Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 23.12.2018
Сообщений: 46
1

Проверка CheckBox на наличие в нем значений из элемента List<>

22.02.2020, 18:29. Показов 782. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, у меня имеется List на основе класса и checkbox!
C#
1
public List<user> usr = new List<user>();
Я добавляю значения в List:
C#
1
usr.Add(new user(userN));
Это сам класс:
C#
1
2
3
4
5
6
7
8
9
10
11
 public class user
    {
        string name;
 
        public string Name { get => name; set => name = value; }
 
        public user(string t)
        {
            name = t;
        }
    }
Затем
C#
1
2
3
4
5
usr.ForEach(delegate (user B) // Добавление в чеклист 2 формы имена пользователей != имени пользователю
                {
                    if (B.Name != userN) form2.checkedListBox1.Items.Add(B.Name);
                    
                });
После того как форма создана значения в Лист поступают еще пользователи и как мне обновлять checkbox на уже существующей форме? Я создал кнопку на 2-ой форме и пытался перебором checkbox и List добавлять в checkbox этих самых пользователей, но все было безуспешно! Также создал textbox на форме и пытался при нажатии кнопки апдейт на 2 форме сравнивать пользователей в List с textbox.Text, но все безуспешно.,.

Как это можно реализовать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2020, 18:29
Ответы с готовыми решениями:

Множества. Проверка множества на наличие элемента в нем
Во многих задачах сталкиваюсь с одной и той же проблемой: Нужно создать множество элементов,...

Проверка txt файла на наличие в нем номера
Добрый день форумчане! Совсем недавно начал изучать С# (первый мой язык) и столкнулся с...

Проверка файла на наличие в нем кода на Паскале
помогите пожалуйста написать процедуру,которая проверяет, действительно ли текст является кодом на...

Проверка массива на наличие значений
Доброго времени суток! Прошу помочь с проверкой наличия массива при переборе значений. Существует...

5
2636 / 1564 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
22.02.2020, 21:07 2
Как вариант, вместо List, вы можете создать ObservableCollection<User> из using System.Collections.ObjectModel;.
Такая коллекция имеет событие, которое срабатывает при любом её изменении. И подписавшись на это событие, вы можете обновлять ваш checkedListBox1.

Примерно вот так:
C#
1
public ObservableCollection<User> Users = new ObservableCollection<User>();
В конструкторе формы - подписываемся на событие изменения коллекции:
C#
1
Users.CollectionChanged += Users_CollectionChanged;
И обновляем checkedListBox1, как только в коллекции Users что-то изменилось:
C#
1
2
3
4
5
private void Users_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
    checkedListBox1.Items.Clear();
    checkedListBox1.Items.AddRange(Users.Select(i => i.Name).ToArray());
}
0
0 / 0 / 0
Регистрация: 23.12.2018
Сообщений: 46
22.02.2020, 22:21  [ТС] 3
Как я понял ваше предложение работает в фоне? Или это событие нужно вызывать, например нажатием кнопки?

Добавлено через 1 час 11 минут
Обработчик событий не помог, может я сделал что-то и не так. Но, в принципе, по логике все должно было работать, но нет...
0
2636 / 1564 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
22.02.2020, 22:32 4
Цитата Сообщение от Itishnik8 Посмотреть сообщение
Как я понял ваше предложение работает в фоне? Или это событие нужно вызывать, например нажатием кнопки?
Да, событие происходит автоматически, как только в коллекции изменилось кол-во элементов. Событие не произойдёт, если что-то изменилось внутри элемента из этой коллекции.
0
0 / 0 / 0
Регистрация: 23.12.2018
Сообщений: 46
22.02.2020, 22:46  [ТС] 5
Перепробовав ваше предложение в разных ракурсах, все равно не работает. А если точнее после создания формы в коллекцию добавляется пользователь и по факту должно сразу добавиться в чеклистбокс! Но он категорически отказывается работать...
0
2636 / 1564 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
22.02.2020, 23:01 6
Тогда не знаю что посоветовать, возможно причина в другом месте в коде, или в связях классов проекта.
Попробуйте создать новый проект с одним checkedListBox на форме и просто потестировать вариант предложены мной.
0
22.02.2020, 23:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2020, 23:01
Помогаю со студенческими работами здесь

Проверка списка на наличие элемента
Дано 2 списка x и y, проверить содержит ли он число 2, вывести список, если содержит. Если не...

Постоянная проверка на наличие элемента
Вот такой вопрос, как сделать на Ajax сайте постоянную проверку на наличие div Блока, и если блок...

Проверка массива на наличие элемента
Здравствуйте.Возникла такая проблемка нужно проверить если определенное число в массиве хоть вопрос...

Проверка на наличие элемента в массиве
string stroka = richTextBox1.Lines; string words = stroka.Split(' '); string a1=words; string...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru