Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
 Аватар для FreeZon
8 / 10 / 8
Регистрация: 30.12.2013
Сообщений: 577
.NET 4.x

Отметить checkedListBox только элементы которые в массиве

28.09.2014, 21:32. Показов 1881. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Отметить checkedListBox только элементы которые в массиве.

Смотрите у меня есть массив имен процессов:

C#
1
string[] enabledprocess = { "lolka", "skype", "steam" };

Мне нужно, вывести все процессы в checkedlist и отметить как checked только те элементы которые есть в массиве, если нету, то пропустить.

Я делаю так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
foreach (var process in Process.GetProcesses())
            {
                
                checkedListBox1.Items.Add(process.ProcessName + ".exe");
                for (int i = 0; i < 5; i++)
                {
                    if (process.ProcessName == enabledprocess[i])
                    {
                        // тут я незнаю что делать. Вот прошу вашей помощи, что дальше?
                        // Мне нужно как то отметить процесс галочкой. Те, которые есть в массиве
                    }
                }
            }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.09.2014, 21:32
Ответы с готовыми решениями:

Найти элементы, которые присутствуют только в массиве А или только в массиве В
Есть два массива. Методом линейного поиска с барьером Найти элементы, которые присутствуют только в массиве А или только в массиве В.

Вывести элементы, которые есть только в массиве А или только в массиве В
Помогите пожалуйста! Вывести элементы, которые есть только в массиве А или только в массиве В. Алгоритм сортировки - пузырьком,...

Элементы, которые есть только в массиве А или только в массиве В
Элементы, которые есть только в массиве А или только в массиве В. Алгоритм сортировки Подсчетом. Алгоритм поиска линейный. Помогите...

4
1168 / 886 / 517
Регистрация: 09.04.2014
Сообщений: 2,102
28.09.2014, 21:52
Лучший ответ Сообщение было отмечено FreeZon как решение

Решение

C#
1
2
3
4
5
6
7
foreach (var process in Process.GetProcesses())
            {
                
                int index=checkedListBox1.Items.Add(process.ProcessName + ".exe");
                if(Array.IndexOf(enabledprocess,  process.ProcessName.ToLower())>-1)
                    checkedListBox1.SetItemChecked(index, true);
            }
1
 Аватар для FreeZon
8 / 10 / 8
Регистрация: 30.12.2013
Сообщений: 577
28.09.2014, 21:58  [ТС]
Цитата Сообщение от nedel Посмотреть сообщение
C#
1
2
3
4
5
6
foreach (var process in Process.GetProcesses())
        {
int index=checkedListBox1.Items.Add(process.ProcessName + ".exe");
        if(Array.IndexOf(enabledprocess, *process.ProcessName.ToLower())>-1)
            checkedListBox1.SetItemChecked(index, true);
        }
Спасибо, работает, а можешь еще подсказать как сделать, вот если пользователь из checkedListBox выбрал еще или убрал какие-то процессы. И по нажатию на кнопку мне надо чтобы все отмеченные галочкой процессы закрылись...
0
1168 / 886 / 517
Регистрация: 09.04.2014
Сообщений: 2,102
28.09.2014, 22:26
Лучший ответ Сообщение было отмечено FreeZon как решение

Решение

Цитата Сообщение от FreeZon Посмотреть сообщение
а можешь еще подсказать как сделать, вот если пользователь из checkedListBox выбрал еще или убрал какие-то процессы. И по нажатию на кнопку мне надо чтобы все отмеченные галочкой процессы закрылись...
Тогда нужно немного по другому:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 class ProcessItem
    {
        public ProcessItem(Process process)
        {
            this.Process = process;
        }
        public Process Process
        {
            get;
            private set;
        }
        public override string ToString()
        {
            return this.Process.ProcessName;
        }
    }
заполнение checkedListBox1
C#
1
2
3
4
5
6
7
8
9
checkedListBox1.Items.Clear();
checkedListBox1.BeginUpdate();
foreach (var process in Process.GetProcesses())
            {
                int index=checkedListBox1.Items.Add(new ProcessItem(process));
                if(Array.IndexOf(enabledprocess,  process.ProcessName.ToLower())>-1)
                    checkedListBox1.SetItemChecked(index, true);
            }
checkedListBox1.EndUpdate();
закрываем процессы
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
 void StopCheckedProcesses()
        {
            System.Windows.Forms.CheckedListBox checkedListBox1 = new System.Windows.Forms.CheckedListBox();
            foreach (ProcessItem item in checkedListBox1.CheckedItems)
            {
                try 
                 { 
// откомментируйте 1 из последующих строк :
               // item.Process.Close(); // если нужно корректно закрыть (будет ждать пока не закроется)
               // item.Process.Kill(); //брутально убить процесс
                  } catch{}
            }
        }
1
 Аватар для FreeZon
8 / 10 / 8
Регистрация: 30.12.2013
Сообщений: 577
28.09.2014, 23:29  [ТС]
Цитата Сообщение от nedel Посмотреть сообщение
Тогда нужно немного по другому:
Не завершает..

Добавлено через 36 минут
Цитата Сообщение от nedel Посмотреть сообщение
Тогда нужно немного по другому:
Я вот так сделал:
C#
1
2
3
4
5
6
7
8
9
foreach (string pname in checkedListBox1.CheckedItems)
            {
                Process p = Process.GetProcessesByName(pname).FirstOrDefault();
                try
                {
                    p.Kill();
                }
                catch { }
            }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.09.2014, 23:29
Помогаю со студенческими работами здесь

В массиве А оставить только элементы со значениями, которые имеются в массиве В
У меня есть динамический массив а: целочисленный 1 2 3 4 5 и массив b, такого же типа: 1 3 5

Вывести элементы в С, которые присутствуют в нескольких экземплярах либо только в массиве A, или массиве В
Вообщем необходимо Вывести в массив С элементы, которые присутствуют в нескольких экземплярах либо только в массиве A, либо только в...

Вывести те элементы, которые встречаются в массиве только один раз
Привет всем. Изучаю c++, ломаю уже 1 день голову над данной задачей: Дан массив. Выведите те его элементы, которые встречаются в массиве...

отметить checkedListBox без выделения
Всем привет. Такой вопрос. Для того, что бы поставить галочку в checkedListBox, его нужно сначала выделить, и только при повторном клике...

Программно отметить пункт в CheckedListBox
Привет всем, мне нужна помощь. Язык С# мне надо, что бы при высвечивании надписи &quot;правильно&quot; в CheckedListBox помечался...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru