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

Перенос картинки из listView на Panel

10.08.2015, 11:57. Показов 1031. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добавил listView. Через диалоговое окно загружаю в него картинки в виде набора айтемов.
А вот как бы сделать так, чтоб по щелчку по конкретному айтему (картинке) она же отображалась в pictureBox'e ?
Я так полагаю, что надо что-то вписать в событие listView1_ItemCheck.
Примерно полагаю, что напрямую картинку из айтема не скопируешь, надо узнать свойство этого айтема (путь, по которому ссылается картинка), и затем из той директории уже грузить изображение в пикчеБокс.
мне интересно, как получить свойство айтема. То бишь, куда ссылается пикча, находящаяся в лист-вью.
Я в последствии хочу конкретно выбранную пикчу из лист-вью размещать на panel.
То есть, тыкнул мышью по айтему, и затем там где щёлкнул на panel, в тех координатах и появляется картинка, выбранная из лист-вью.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.08.2015, 11:57
Ответы с готовыми решениями:

Панель Panel. Перенос строки
Помогите пожалуйста. Код для панели следующий: procedure TForm5.Panel1Click(Sender: TObject); begin Panel1.Caption:='Вы делаете шаг...

Shape, Panel, Картинки. Котики
Прошлым сообщением, я немного задал не корректный вопрос. Да и цель задачи немного изменилась. Динамически на на панели по клику мыши...

Как убрать мерцания картинки элемента Panel?
Да, все та же двойная буферизация. Итак, начну сначала. Вся моя программа состоит из формы, на которой находится панель panel1. Также...

3
38 / 38 / 30
Регистрация: 07.04.2014
Сообщений: 219
10.08.2015, 22:00
Набросал пару строк, как картинку добавить в PictureBox из ListView
Добавляю 3 картинки в ЛистВью, щелкаю по картинке двойным щелчком - она добавляется в PictureBox.
Щелкаю по другой картинке - прошла исчезает, выбранная добавляется.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
        public Form1()
        {
            InitializeComponent();
        }
 
        private void buttonStart_Click(object sender, EventArgs e)
        {
            listView1.LargeImageList = imageList1;
 
            for (int index = 0; index < imageList1.Images.Count; index++)
            {
                listView1.Items.Add(new ListViewItem() { ImageIndex = index });
            }
 
            // кнопка становится недоступной, чтобы нельзя было добавлять еще раз
            buttonStart.Enabled = false;
        }
 
        private void listView1_ItemActivate(object sender, EventArgs e)
        {
            ListView.SelectedIndexCollection indexes = listView1.SelectedIndices;
 
            foreach (int index in indexes)
            {
                // SelectedItems[0] - потому что выбираю всегда только один элемент
                // Images[index] - выбирает картинку по выбранному индексу
                pictureBox1.Image = listView1.SelectedItems[0].ImageList.Images[index];                                
            }          
        }
0
1 / 1 / 1
Регистрация: 13.09.2013
Сообщений: 167
10.08.2015, 23:52  [ТС]
спасибо, кое-как пашет... Но есть одно "но".
Из лист-вью в пикче-бокс картинка попадает в таком же виде, в каком она находилась в имейдж-вью, то есть в виде миниатюры.
А мне надо её изначальный вид, в котором она хранится на диске.
0
1 / 1 / 1
Регистрация: 13.09.2013
Сообщений: 167
12.08.2015, 08:29  [ТС]
Сделал следующим образом.
Объявил массив стрингов
int imgIDX=1;
string[] path = new string [256];

И теперь при загрузке присваиваю
path[imgIDX] = openFileDialog1.FileName;

И в обработчике открываю по пути, соответствующему индексу.

Теперь бы разобраться с выводом изображений на панели.
Имейджи там отрисовывать буду через System.Drawing Graphics.
Думаю, будет сильно мерцать при большом количестве картинок.

Даже сейчас мерцает заметно, рисую по клику таймера сетку из векторных ректанглов, и поверх неё картинку для пробы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.08.2015, 08:29
Помогаю со студенческими работами здесь

Нужно сделат в AWT, во ФРЕЙМЕ картинки на Button, или на худой конец на Panel.
Нужно сделат в AWT, во ФРЕЙМЕ картинки на Button, или на худой конец на Panel.

Перенос строк в ListView
Здравствуйте, столкнулся с проблемой переноса строк в ListView (есть несколько столбцов фиксированной ширины, как сделать что бы строка...

Перенос данных в ListView
Привет всем, Я начал изучать технологию WPF, до этого я писал используя формы. Сейчас делая проект на WPF столкнулся с такой...

C++ Builder перенос строк в ListView
Здравствуйте! Помогите в решении следующей проблемы: перенос длинной строки в ячейке ListView. Ширина столбцов ограничена.

ListView - перенос текста в ячейках
Здравствуйте. Скажите пожалуйста, если длина текста помещаемого в ячейку ListView View.Details больше ширины ячейки, как сделать, чтобы...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru