Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
 Аватар для timsc1
15 / 15 / 2
Регистрация: 27.11.2011
Сообщений: 714

В 4 PictureBox записать случайные картинки из тех, что на другой форме

28.07.2016, 21:37. Показов 1807. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго здоровичка!!! Такая проблема:
есть две формы. на 1-й 4 PictureBox, на 2-й их 10. Необходимо в эти 4 PictureBox случайно записать случайные картинки из тех, что на другой форме.
Делаю так:
VB.NET
1
2
3
4
5
6
  Dim RandRB As Integer = R.Next(1, 6)
        Value = R.Next(1, 6)
        s = "pic.PictureBox" & Value & ".Image"
        ' Me.PictureBox1.Image = My.Resources.ResourceManager.GetObject(s)
        '  PictureBox1.Image = s
        PictureBox1.Image = "pic.PictureBox" & Value & ".Image"
куча ошибок и ничего не получается. Как сделать из конкретного PictureBox в конкретный получается (в одно действие), а так как надо - нет.
Помогите пожалуйста!!! Спасибо!!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.07.2016, 21:37
Ответы с готовыми решениями:

Смена картинки в pictureBox из другой формы
надо сменить картинку из другой формы первая форма public partial class Form1 : Form { public Form1() ...

Открытие картинки в PictureBox другой формы
Почему-то не работает PictureBox в новой форме. Есть Form1 на ней кнопка, в кнопке код: ... PreviewsPhoto1.PictureBox1.Image =...

Создание PictureBox на другой форме
как по нажатию на кнопку на первой форме, создать picture box на второй форме ?

24
1548 / 1521 / 325
Регистрация: 03.10.2012
Сообщений: 1,551
29.07.2016, 12:52
Не проще ли... или - не правильнее ли хранить картинки не в пикчебоксах, а в массиве или в ImageList. Тогда все значительно упростится.
2
Модератор
Эксперт .NET
 Аватар для Yury Komar
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,257
29.07.2016, 17:45
MrCrown, а вообще, Form.Controls.TypeOf(PictureBox) тот же самый массив... почему бы и нет.
1
 Аватар для timsc1
15 / 15 / 2
Регистрация: 27.11.2011
Сообщений: 714
29.07.2016, 18:14  [ТС]
я не знаю как лучше, мне лишь бы не таскать картинки в виде файлов отдельно. Программа должна быть в одном файле и всё!!!
0
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
29.07.2016, 18:44
Лучший ответ Сообщение было отмечено timsc1 как решение

Решение

C наскока, закинуть в ресурсы эти 10 картинок с именами
0, 1, 2, 3 - 9
Код
VB.NET
1
2
3
4
5
        Dim r As New Random()
        Dim Mass As Integer() = Enumerable.Range(0, 10).OrderBy(Function(n) r.Next).Take(4).ToArray()
        For I As Integer = 0 To 3
            Me.Controls("PictureBox" & I + 1).BackgroundImage = My.Resources.ResourceManager.GetObject("_" & Mass(I))
        Next
Название: VB NET.gif
Просмотров: 41

Размер: 92.8 Кб
3
 Аватар для timsc1
15 / 15 / 2
Регистрация: 27.11.2011
Сообщений: 714
29.07.2016, 19:23  [ТС]
Цитата Сообщение от Памирыч Посмотреть сообщение
закинуть в ресурсы эти 10 картинок с именами
0, 1, 2, 3 - 9
Простите, это как???
0
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
29.07.2016, 19:26
1.png
2.png
3.png
...
9.png
1
 Аватар для timsc1
15 / 15 / 2
Регистрация: 27.11.2011
Сообщений: 714
29.07.2016, 19:30  [ТС]
простите мою безграмотность... в какие ресурсы и как их записать???
0
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
29.07.2016, 19:31
Зайдите в свойства проекта, найдите сбоку или где-то еще (у меня сбоку) закладку "Ресурсы", откройте. Там будет что-то навроде таблицы, где в первой строке уже есть параметр String1
Со стола захватите пачку рисунков и бросьте в это окно
1
 Аватар для timsc1
15 / 15 / 2
Регистрация: 27.11.2011
Сообщений: 714
29.07.2016, 19:50  [ТС]
:yaho o:
не подскажите, размер РВ можно указать только в свойствах справа (длина и ширина) или его можно растянуть программно автоматически под картинку, а то у него стоит autosize, а картинка видна кусочек.
VB.NET
1
Me.Controls("PictureBox" & I + 1).Size = AutoSize
на такое он ругается...
0
1548 / 1521 / 325
Регистрация: 03.10.2012
Сообщений: 1,551
29.07.2016, 20:53
Цитата Сообщение от Yury Komar Посмотреть сообщение
Form.Controls.TypeOf(PictureBox) тот же самый массив...
Да, конечно, но это ИМХО плохой стиль.

Добавлено через 6 минут
Цитата Сообщение от timsc1 Посмотреть сообщение
растянуть программно автоматически под картинку
VB.NET
1
PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize
1
 Аватар для timsc1
15 / 15 / 2
Регистрация: 27.11.2011
Сообщений: 714
29.07.2016, 21:16  [ТС]
Цитата Сообщение от MrCrown Посмотреть сообщение
PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize
не хочет делать AutoSize, не растягивает РВ под картинку!!!
я делаю массивом, как у Памирыча... как мне их сразу все сделать??? Пытался склеить РВ и I+1, ругается!!!
0
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
29.07.2016, 22:08
Цитата Сообщение от timsc1 Посмотреть сообщение
не хочет делать AutoSize, не растягивает РВ под картинку
Авторазмер применим для свойства Image, но не для BackgroundImage
Если будет меняться размер, то помимо выставления вышеуказанного свойства стоит прописать немного другой код:
VB.NET
1
DirectCast(Me.Controls("PictureBox" & I + 1), PictureBox).Image = My.Resources.ResourceManager.GetObject("_" & Mass(I))
Цитата Сообщение от timsc1 Посмотреть сообщение
ругается
Так Вы смотрите, что подставляется в код и как картинки называются "глазами" Студии.
Пользуйтесь отладкой, это не роскошь, это необходимость.
1
 Аватар для timsc1
15 / 15 / 2
Регистрация: 27.11.2011
Сообщений: 714
31.07.2016, 21:13  [ТС]
VB.NET
1
2
3
4
Dim Mass As Integer() = Enumerable.Range(22, 47).OrderBy(Function(n) r.Next).Take(6).ToArray()
        For I As Integer = 0 To 5
            Me.Controls("PictureBox" & I + 1).BackgroundImage = My.Resources.ResourceManager.GetObject("_" & Mass(I))
        Next
В этой строчке он должен брать номера из ресурсов картинок от 22 до 47 случайно, всего 6 штук. Но он, почему-то берёт какие попало номера: и 68, и 52, и 57, и 63........ Откуда??? Подскажите пожалуйста!!!
0
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
31.07.2016, 21:29
timsc1, что значит, откуда?
В коде поставьте курсор перед числом 47, нажмите пробел. Студия Вам пояснит, 47 - это вовсе не верхний предел генерируемых значений, а их количество в общем.
1
 Аватар для timsc1
15 / 15 / 2
Регистрация: 27.11.2011
Сообщений: 714
31.07.2016, 21:31  [ТС]
а как тогда быть, там нумерация картинок именно от 22 до 47...???
0
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
31.07.2016, 21:33
47-22=25
1
 Аватар для timsc1
15 / 15 / 2
Регистрация: 27.11.2011
Сообщений: 714
31.07.2016, 21:34  [ТС]
да, спасибо, уже вроде сделал...
0
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
31.07.2016, 21:37
М.б. проще так
VB.NET
1
2
3
4
5
6
Dim rnd As New Random
Dim ii As Integer
For i = 0 To 5
    ii = rnd.Next(22, 48)
    '....GetObject("_" & ii.ToString)
Next
1
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
31.07.2016, 21:40
ovva, может быть, я ошибаюсь, но кмк, автору надо без повторов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.07.2016, 21:40
Помогаю со студенческими работами здесь

Что нужно дописать, чтобы генерировались случайные картинки?
public partial class Form1 : Form { Random myrnd = new Random(); public Form1() { ...

Записать в другой файл сведения только о тех студентах, которые успешно сдали сессию
Создать файл, содержащий сведения о студентах: фамилия И. О., группа, оценки за экзамен. Написать программу на C, которая запсывает в...

Как записать данные из таблицы на другой форме в переменную?
у меня на 1 форме есть таблица с числами, к примеру, а на другой форме мне надо сделать расчет этих чисел, и вот как мне записать данные из...

Прозрачный фон у картинки на элементе PictureBox непрозрачен для другого PictureBox
Здравствуйте! Проблема состоит в следующем! У меня есть картинка .png с прозрачным фоном. При создании PictureBox с этой картинкой, фон по...

Как из ComboBox на одной форме записать нужную строчку в Label другой формы?
Здравствуйте, а вот еще вопрос, а как из ComboBox на форме( form1) записать нужную строчку, в label другой формы (form2)?


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru