Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 11.01.2019
Сообщений: 15

Массивы управления и параллельное выполнение

16.07.2020, 19:59. Показов 571. Ответов 6

Студворк — интернет-сервис помощи студентам
Всем привет, нужна Ваша помощь. У меня есть N-ое множество точек, имеющих одинаковые свойства, кроме, пожалуй, Location, Name и BackColor.
Три вопроса:
  1. Используется ли массив PictureBox для хранения и инициализации каждой из них?
  2. Как можно добавить эти точки на форму?
    C#
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    private void Map_Point_Creater(object sender, EventArgs e)
            {    
     
                PictureBox[] Points = new PictureBox[20];
     
                PictureBox StandartPoint = new PictureBox();
                    StandartPoint.Size = new Size(5, 5);
                    StandartPoint.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
                    StandartPoint.TabIndex = 0;
                    StandartPoint.TabStop = false;
     
                Random a = new Random();
     
                for (int i = 0; i < 20; i++, Thread.Sleep(500))
                {
                    StandartPoint.Name = Convert.ToString(i) + "_Point";
                    StandartPoint.Location = new Point(a.Next(0, FormSizeX), a.Next(0, FormSizeY));
                    StandartPoint.BackColor = Color.FromArgb(a.Next(0, 255), a.Next(0, 255), a.Next(0, 255));
                    Points[i] = StandartPoint;
                }
            }
    Где FormSizeX и FormSizeY - зависимые от размера формы целочисленные переменные (допустим, в данный момент это 1366 на 768, но это не важно). Точек задумывалось сделать от 200 до 500 штук.
    До этого экспериментировал со строчками из конструктора:
    1. ((System.ComponentModel.ISupportInitiali ze)(this.Points[i])).BeginInit();
    2. this.Controls.Add(this.Points[i]);
    Однако там состояние кода было другим.
  3. И третий вопрос, с которым я пока не пытался разобраться самостоятельно. Каким образом можно вывести выполнение инициализации в параллельный поток, которому не нужно ожидать полного завершения цикла выше (на практике это выглядело бы как перестановка всех N picturebox'ов по щелчку пальца).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.07.2020, 19:59
Ответы с готовыми решениями:

Параллельное выполнение метода
Здравствуйте! Пишу многопоточное приложение, в котором есть основной поток, поток управляющий рабочими потоками и рабочие потоки....

Параллельное выполнение потоков
Привет всем. Знаю что тема избитая уже, но что то не выходит все равно. Суть в том что в обработчике события есть 2 потока. Один поток...

Параллельное выполнение процессов
Есть процесс, который выполняется в цикле и обновляется с каждым проходом цикла. for(i=0;i&lt;N;i++) cmd =...

6
 Аватар для ashsvis
923 / 503 / 202
Регистрация: 08.10.2018
Сообщений: 1,553
Записей в блоге: 11
16.07.2020, 20:06
Цитата Сообщение от Daug32 Посмотреть сообщение
PictureBox[] Points = new PictureBox[20];
0
0 / 0 / 0
Регистрация: 11.01.2019
Сообщений: 15
16.07.2020, 20:11  [ТС]
Ну, вот так. Обучение у меня происходило отрывочно.
0
 Аватар для ashsvis
923 / 503 / 202
Регистрация: 08.10.2018
Сообщений: 1,553
Записей в блоге: 11
16.07.2020, 20:15
Это какое-то затмение... Народ любит использовать компоненты, массивы компонентов, особенно жонглирование пикчебоксами.
Используйте рисование на поверхности ОДНОГО пикчебокса, в методе Paint()
0
0 / 0 / 0
Регистрация: 11.01.2019
Сообщений: 15
16.07.2020, 20:22  [ТС]
Не думаю, что это хорошая идея. У каждого элемента есть (будет) нестандартное свойство - взаимодействие с объектом.
0
 Аватар для ashsvis
923 / 503 / 202
Регистрация: 08.10.2018
Сообщений: 1,553
Записей в блоге: 11
16.07.2020, 20:32
Взаимодействуйте с объектами через один визуальный компонент (PictureBox) - этого вполне достаточно.
0
0 / 0 / 0
Регистрация: 11.01.2019
Сообщений: 15
16.07.2020, 20:55  [ТС]
Ладно, спасибо Вам. Что-нибудь придумаю с этим.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.07.2020, 20:55
Помогаю со студенческими работами здесь

Параллельное выполнение потоков
Доброго времени суток. Необходимо задачу разбить на несколько потоков. Более конкретнее: получение списка групп пользователя Вк. Работаю с...

параллельное выполнение
приветствую вас. есть проблема.. написал программку в c builder. Там есть цикл, который крутит выполнение некоторых операций - сканирует...

Параллельное выполнение
Добрый вечер, у меня есть код; while (true) { F (Handle_ArcheAge); //поднять предмет health90 (Handle_ArcheAge); mana30...

Параллельное выполнение процедур
Здравствуйте! Напоминаю, что я полнейший нуб в Java, а потому многие моменты мне кажутся непонятными. Допустим, у меня есть процедура...

Параллельное выполнение вычислений
Здравствуйте! Подскажите, кто опытный. Есть участок кода, последовательно вызывающий 1 функцию с разными параметрами и записывающий...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru