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

Использование изображения из проекта

03.05.2022, 13:14. Показов 4138. Ответов 17

Студворк — интернет-сервис помощи студентам
Создал справочник, слева сделан лист бокс с названиями, на него событие click, справа picturebox. При нажатии на текст в лист боксе справа меняется изображение.

C#
1
2
3
4
5
6
7
8
private void listBox1_Click(object sender, EventArgs e)
        {
            
        if (listBox1.SelectedIndex == 0)
            {
                pictureBox1.Image = Image.FromFile ("C:\\LaserWar\\LaserWar\\LaserWar\\images\\Уникальный макеты\\Уникальные макеты.jpeg");
                
            }
Хочу сделать так, чтобы можно было открывать мою программу на других компьютерах, но путь поменяется и изображения не будут найдены. Знаю что можно добавить изображения в проект и они не пропадут, но не знаю как к ним обратиться. Как сделать так, чтобы можно было без потери изображения открывать мой проект на любых компьютерах
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.05.2022, 13:14
Ответы с готовыми решениями:

Изображения копируются в корень проекта
Доброе времени суток, проблема такова: я добавил пак изображений в Resources через добавления ресурсов в .resx, но после отладки все...

После сборки проекта не показывает изображения
После сборки проекта не показывает изображения не показывает изображения на другом компе?Можно ли это как-то преодолеть.

Получение пути к файлу изображения из проекта
Все здравствуйте, у меня проблема с получение пути к изображениям лежащим в моем проекте. По нажатию на кнопку изображение должно...

17
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18304 / 14228 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
03.05.2022, 14:06
Thia, здесь нужно плясать от того как должна выглядеть итоговая программа. Вы хотите чтобы изображения лежали рядом с приложением? Это означает что пользователь их может просмотреть без программы, изменить или удалить их. Может вы хотите чтобы картинки были частью приложения или "спрятаны" в файлы данных как в играх. Определитесь с подходом и тогда обсудим решение.
0
1 / 1 / 0
Регистрация: 20.04.2022
Сообщений: 18
03.05.2022, 17:12  [ТС]
Изображения могут просто лежать в папке с программой
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
03.05.2022, 17:33
Лучший ответ Сообщение было отмечено Thia как решение

Решение

Цитата Сообщение от Thia Посмотреть сообщение
Изображения могут просто лежать в папке с программой
Все пути в программе считаются относительными, т.е. считаются от папки, где запущена программа. Можно положить изображения в отдельную папку рядом с программой, например "Images" и обращаться к ним по этому пути:
C#
1
pictureBox1.Image = Image.FromFile(System.IO.Path.Combine("Images", "Уникальные макеты.jpeg")); // Images/Уникальные макеты.jpeg
При желании можно посмотреть путь, откуда запущена программа: System.Environment.CurrentDirectory
1
1 / 1 / 0
Регистрация: 20.04.2022
Сообщений: 18
03.05.2022, 17:57  [ТС]
Выдает ошибку. Попробовал все варианты, выдает одну ошибку. Могу загрузить архивом. Изображения в отдельную папку, имеется ввиду не в корень папки программы?
0
1 / 1 / 0
Регистрация: 20.04.2022
Сообщений: 18
03.05.2022, 19:45  [ТС]
John Prick, Не может найти файл, все перепробовал
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
03.05.2022, 21:10
Цитата Сообщение от Thia Посмотреть сообщение
Изображения в отдельную папку, имеется ввиду не в корень папки программы?
Как раз туда. Говорю же, пути в программе задаются относительно папки самой программы.
1
1 / 1 / 0
Регистрация: 20.04.2022
Сообщений: 18
03.05.2022, 21:25  [ТС]
John Prick, Все перепробовал, как должен выглядеть путь?
C#
1
2
3
4
if (listBox1.SelectedIndex == 1)
            {
                pictureBox1.Image = Image.FromFile(System.IO.Path.Combine("images//msedge_gfYHC5nGAf.jpg"));
            }
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
03.05.2022, 21:29
Цитата Сообщение от Thia Посмотреть сообщение
как должен выглядеть путь?
Если использовать Combine, то не надо никаких слешей. Combine("папка", "папка", "файл") даст путь папка/папка/файл. Если же вручную путь вбивать, то "images\\file.jpg".

Добавлено через 1 минуту
И папка images должна лежать рядом с .exe, а не в корне проекта.
1
1 / 1 / 0
Регистрация: 20.04.2022
Сообщений: 18
03.05.2022, 21:40  [ТС]
John Prick,Я очень видимо глупый, но я столько уже комбинаций перепробовал, с папками, с каталогом.
Всё но могу указать правильный путь к файлу, прошу, помогите мне пожалуйста

C#
1
2
3
4
if (listBox1.SelectedIndex == 1)
            {
                pictureBox1.Image = Image.FromFile(System.IO.Path.Combine("LaserWar", "images","msedge_gfYHC5nGAf.jpg"));
            }
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
03.05.2022, 21:42
А программа ваша где лежит?
1
1 / 1 / 0
Регистрация: 20.04.2022
Сообщений: 18
03.05.2022, 21:45  [ТС]
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
03.05.2022, 21:45
Я же говорю, не проект в Visual Studio, а программа. LaserWar.exe или как там у вас будет.
1
1 / 1 / 0
Регистрация: 20.04.2022
Сообщений: 18
03.05.2022, 21:49  [ТС]
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
03.05.2022, 21:53
Вот здесь в папке images есть ваши картинки?
1
1 / 1 / 0
Регистрация: 20.04.2022
Сообщений: 18
03.05.2022, 21:57  [ТС]
John Prick, Да, добавил туда специально изображение, так же выдает ошибку что не может найти файл

Добавлено через 1 минуту
John Prick, Все получилось, огромное вам спасибо
0
2395 / 1924 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
03.05.2022, 21:58
Лучший ответ Сообщение было отмечено Thia как решение

Решение

Вот путь до него можете задать как images/file.jpg, "images\\file.jpg" или Path.Combine("images", "file.jpg"). Одним из этих способов.
1
1 / 1 / 0
Регистрация: 20.04.2022
Сообщений: 18
03.05.2022, 22:12  [ТС]
John Prick, Спасибо вам большое, я понесу эти знания дальше. Покажу преподавателю, одногруппникам. Спасибо что не бросили меня и до конца помогали. Вы самый добрый и лучший человек на свете
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.05.2022, 22:12
Помогаю со студенческими работами здесь

Использование в QT проекта написанного на студии
Значит есть проект написанный на 2012 студии, в студии компилируется и выполняется без ошибок и проблем и работает как надо. (выполняет в...

Использование библиотек qt для проекта
Всем привет) Подскажите пожалуйста, кто знает. Я использую eclipse или netbeans, или какую -нибудь другую ide (кроме qt-designer), и...

Использование структуры в файлах проекта
Доброго времени суток всем. У меня тут маленькая проблемка появилась.. Вот есть у меня такой код: // programm.cpp struct NewsInfo ...

Использование классов из дополнительного проекта
Доброе время суток. Работаю в Visual Studio 2008 Express C++. Создал solution, в нем два проекта - Launcher(основной) и...

Использование класса из другого проекта
Есть 2 проекта Client и Server. Оба использует общие классы Message и IP. Запускала в консоле, там все просто, прописала пути к .java...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
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. Задача: 1. Реализовать контроль заполнения реквизита. . .
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. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru