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

Упрощение кода показа pictureBox

04.05.2016, 20:38. Показов 1124. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как это упростить что б не писать много раз ? Таких пикчербоксов у меня 15, не писать их же как в коде ниже...(

C#
1
2
3
4
5
6
7
            switch (random)
            {
                case 1: pictureBox1.Show(); break; 
                case 2: pictureBox1.Show(); pictureBox2.Show(); break;
                case 3: pictureBox1.Show(); pictureBox2.Show(); pictureBox3.Show(); break;
                case 4: pictureBox1.Show(); pictureBox2.Show(); pictureBox3.Show(); pictureBox4.Show(); break;
                case 5: pictureBox1.Show(); pictureBox2.Show(); pictureBox3.Show(); pictureBox4.Show(); pictureBox5.Show(); break;
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.05.2016, 20:38
Ответы с готовыми решениями:

Упрощение объемного кода
Здравствуйте, есть следующий код, он слишком объемный, как можно с мощью цикла упростить его, сделать гораздо меньше в объеме. С помощью...

Упрощение кода связанного с создание формы
Доброго времени суток. В моем проекте есть 10 Форм и 10 кнопок. При нажатии на одну из кнопок должна вызываться соответствующая форма. ...

Оптимизация, упрощение и прочая чистка кода
Изучение C# начал с решения олимпиадных задач Моя программа выполняет следующую задачу Взяли миллион первых натуральных десятичных...

6
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,575
04.05.2016, 20:45
Лучший ответ Сообщение было отмечено Erbe как решение

Решение

Если они у вас названы таким образом, то
C#
1
2
3
4
for(int i = 1; i <= random; i++)
{
    this.Controls["pictureBox" + i].Show();
}
0
0 / 0 / 0
Регистрация: 04.05.2016
Сообщений: 5
04.05.2016, 20:58
Можно попробовать запихнуть эти элементы в List.
Допустим, ваш List назван picList.
C#
1
2
3
4
5
for (int i = 0; i < random; i++) {
    for (int j = 0; j < i+1; j++) {
       picList[j].Show();
   }
}
0
 Аватар для afapasha
28 / 28 / 19
Регистрация: 12.10.2014
Сообщений: 98
04.05.2016, 21:06
C#
1
2
  for(int j=1;j <=random; j++)
    this.Controls["pictureBox" + j].Show();
Добавлено через 7 минут
Все таки так будет верно
C#
1
2
3
int i = random;
for(int j=1;j <= i j++)
    this.Controls["pictureBox" + j].Show();
0
0 / 0 / 0
Регистрация: 04.05.2016
Сообщений: 5
04.05.2016, 21:22
Прощу прощения, там будет просто:
C#
1
2
3
for (int i = 0; i < random; i++) {
    picList[i].Show();
}
Но перед этим придётся, конечно, создать List и там будет объёмно, но это легко делается копипастом. Но всё же, это будет упрощением. Лучше использовать вариант, который предложили выше, если у вас и правда названия совпадают, если же нет -- используйте мой.
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
04.05.2016, 21:29
Цитата Сообщение от Pixelen Посмотреть сообщение
Лучше использовать вариант, который предложили выше, если у вас и правда названия совпадают, если же нет -- используйте мой.
На самом деле как раз вариант с List - это и есть нормальный вариант. А вот обращение к контролам по именам - это bad practice.
2
0 / 0 / 0
Регистрация: 14.02.2014
Сообщений: 54
10.05.2016, 19:46  [ТС]
такой вариант мне не подходит, т.к. у меня case, переменная берется с предыдущего кейса. То есть нужно создавать 15 переменных...

Добавлено через 3 минуты
блин, туплю, это работает
for(int i = 1; i <= random; i++)
{
this.Controls["pictureBox" + i].Show();
}
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.05.2016, 19:46
Помогаю со студенческими работами здесь

Упрощение кода Лямбда-выражения и цыкл
Здравствуйте, подскажите пожалуйста можно ли как-то упростить данный код (избавится от цикла, используя лямбда-выражения): static...

Изображение в pictureBox из кода
Подскажите как используя бинарный код изображения вывести его в pictureBox ?

Реализация штрих-кода в picturebox по ГОСТ
Добрый день. Требуется совет знающего человека. Необходимо реализовать штрих-код с ГОСТовскими размерами:...

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

Упрощение кода
Уважаемые знатоки. Есть такая часть кода в программе. sel=List-&gt;Selected-&gt;AbsoluteIndex+1; switch (sel) { case 1: ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru