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

Нарисовать квадрат при перетаскивании строчки из компонента ListBox на компонент PictureBox

01.12.2020, 10:36. Показов 1035. Ответов 3

Студворк — интернет-сервис помощи студентам
Хочу реализовать следующее:
При перетаскивании строчки из компонента ListBox на компонент PictureBox - чтобы рисовался квадрат и внутри писалась эта строка. Написал функцию рисования квадрата:
C#
1
2
3
4
5
6
7
8
internal Bitmap DrawClass(string name, int x, int y)
        {
            var BitMap = new Bitmap(60, 100, PixelFormat.Format32bppArgb);
            var graphics = Graphics.FromImage(BitMap);
            graphics.SmoothingMode = SmoothingMode.AntiAlias;
            graphics.FillRectangle(new SolidBrush(Color.Red), x, y, x + 60, y + 100);
            return BitMap;
        }
но вместо задуманного - строка просто пропадает из ListBox, в чём ошибка?

MouseDown ListBox:
C#
1
2
3
4
5
6
string s = Convert.ToString(listBox1.Items[listBox1.IndexFromPoint(e.X, e.Y)]);
            DragDropEffects ddel = DoDragDrop(s, DragDropEffects.Copy | DragDropEffects.Move);
            if (ddel == DragDropEffects.Move)
            {
                listBox1.Items.RemoveAt(listBox1.IndexFromPoint(e.X, e.Y));
            }
Drag Enter и Drag Drop - Picture Box на который перетаскиваю
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
private void pictureBox1_DragDrop(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.Text))
            {
                string str = (string)e.Data.GetData(DataFormats.Text);
                obj.DrawClass(str,Cursor.Position.X, Cursor.Position.Y);
            }
        }
 
        private void pictureBox1_DragEnter(object sender, DragEventArgs e)
        {
                e.Effect = DragDropEffects.Move;
        }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.12.2020, 10:36
Ответы с готовыми решениями:

Нарисовать квадрат в PictureBox при загрузке формы
При запуске формы должен отображаться квадратик. Все делаю через pictureBox но ничего не работает. Уже облазил кучу форумов, перепробовал...

Изчезновение изображения в Picturebox при перетаскивании формы по экрану
Всем привет. Работал на VB6, изучаю VB2005. Вопрос такой. Отрисовал картинку в picturebox. Далее беру форму на которой размещен...

Нужно вывести из Listbox текст выбранной строчки и скачать файл с именем строчки
Дело такое. Программа при запуске сканирует файлы в нужной папку на ftp сервере и забивает имена в listbox. С этим всё норм. Дело в том,...

3
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
01.12.2020, 10:53
SkYMaaN, вы ничего не делаете с битмапом, который вернул метод DrawClass.
1
 Аватар для SkYMaaN
25 / 19 / 9
Регистрация: 05.04.2019
Сообщений: 338
01.12.2020, 11:06  [ТС]
kolorotur, мне нужно его ещё отрисовать получается, но Show не отображает:
C#
1
2
Bitmap BP = obj.DrawClass(str,Cursor.Position.X, Cursor.Position.Y);
BP.Show();
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
01.12.2020, 11:46
SkYMaaN, у класса Bitmap нет метода Show, если мне память не изменяет.
Вам его надо либо в пикчербокс затолкать, либо отрисовывать сразу на каком-нибудь компоненте.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.12.2020, 11:46
Помогаю со студенческими работами здесь

Нарисовать окружность, вписать в неё квадрат, и в квадрат - другой квадрат
Добрый день, прошу помощи в решении задачи: Нужно вписать в окружность цветной квадрат а собственно в сам квадрат вписать еще и другого...

Исчезновение компонента при нажатии на любой другой компонент
Всем привет! У меня есть label, на который я нажимаю и появляется панель (т.е. она была не видима, а при нажатии на label она становиться...

Нарисовать при помощи компонента Chart
Надо при помощи компонента Chart нарисовать Получается сделать только пол фигуры for (int i=0; i<=100; i++) ...

Как сделать компонент шаблон, который принимает 3 компонента и от этого реднерит конретный подшаблон-компонент?
Как сделать компонент шаблон, который принимает 3 компонента и от этого реднерит конретный подшаблон-компонент? Если конкретнее. ...

Как при нажатии на pictureBox нарисовать в нем символ?
Доброго времени суток. Делаю крестики нолики 10 на 10 и столкнулся с такой проблемой. Я хочу, чтобы при нажатии любого pictureBox в нем...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
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