Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
7 / 7 / 0
Регистрация: 21.12.2016
Сообщений: 152

DrawLine в PictureBox - почему не работает?

15.11.2019, 18:52. Показов 3176. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, в чём ошибка в этой структуре?
почему не прорисовывается Линия на PictureBox?

На форме расположен "PictureBox" с именем PicBox

VB.NET
1
2
3
4
5
6
7
8
        W = PicBox.Width - 15
        H = PicBox.Height - 15
        X = 1
        Y = 1
        Dim G As Graphics = PicBox.CreateGraphics()
        Dim lColor As New Pen(Color.Black, 3)
        G.DrawLine(lColor, X, Y, W, Y)
        PicBox.Refresh()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.11.2019, 18:52
Ответы с готовыми решениями:

Почему If не работает для System.Drawing.Bitmap(PictureBox.Image, вместе с переменными типа Object)
В моей программе для сохранения "базы" ТРЕБУЕТСЯ проверка изображения в PictureBox'е (на My.Resourses."") Но вроде все...

Panel+picturebox+drawline
Здравствуйте. Помогите с такой проблемой: Пытаюсь на picturebox отрисовать линию и потом добавить picturebox на панель. Но ничего не...

Нарисовать графический рисунок, используя DrawLine и DrawCurve в pictureBox
Здравствуйте, я решила нарисовать графический рисунок используя DrawLine и DrawCurve в pictureBox. Graphics g =...

4
Лень — мое второе и
 Аватар для Orlangur
3228 / 2416 / 687
Регистрация: 28.11.2014
Сообщений: 3,601
Записей в блоге: 3
15.11.2019, 19:02
Memfivosfey, в том, что при таком рисовании все с picturebox пропадет при его перерисовывании, которое вызывается .Refresh()
0
7 / 7 / 0
Регистрация: 21.12.2016
Сообщений: 152
15.11.2019, 19:28  [ТС]
да Refresh я поставил после того, как на форме ничего не отобразилось.

Пустой PictureBox, совсем. Может есть какое-то свойство, что бы разрешить рисование на PuictureBox?
0
32 / 9 / 4
Регистрация: 21.01.2018
Сообщений: 54
15.11.2019, 22:40
Попробуйте это:
VB.NET
1
2
3
Dim Path_1 As New GraphicsPath
    Path_1.AddLine(X, Y, W, H)
    G.DrawPath(lColor, Path_1)
Добавлено через 21 минуту
У вас линия у самого верха PicBox, может вы ее не видите, хотя она чертится
Попробуйте так:
VB.NET
1
2
3
4
5
6
7
 Dim G As Graphics = PicBox.CreateGraphics()
        W = PicBox.Width - 15
        H = PicBox.Height - 15
        X = 1
        Y = 1
         Dim lColor As New Pen(Color.Black, 3)
        G.DrawLine(lColor, X, Y, W, H)
Добавлено через 3 минуты
Нужно все Imports вставить:
VB.NET
1
2
Imports System.Drawing
Imports System.Drawing.Drawing2D
Тогда должно рисоваться

Добавлено через 3 минуты
Еще. Толщина пера - 3 пикселя, а линия у самого верха на Y = 1, значит линия выходит за рамки PicBox
0
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
16.11.2019, 19:15
Вариант рисования
VB.NET
1
2
3
4
5
6
7
8
9
Private x1, y1, x2, y2 As Single
Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
    x1 = 10 : y1 = 20 : x2 = 150 : y2 = 55
    PictureBox1.Invalidate()
End Sub
Private Sub PictureBox1_Paint(sender As System.Object, e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
    e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
    e.Graphics.DrawLine(New Pen(Brushes.Blue, 3), x1, y1, x2, y2)
End Sub
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.11.2019, 19:15
Помогаю со студенческими работами здесь

PictureBox почему-то ускоряет движение
Написал проект, в котором при нажатии клавиши 'w' создается и двигается PictureBox по форме. Движение реализовано с помощью таймера. При...

Почему не вижу изменений размера pictureBox?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...

Почему при свертывании страницы из PictureBox исчезает изображение?
В общем, это моя 2-ая программа на данном языке и некоторые моменты мне не очень понятны. 1. Почему когда я сворачиваю приложение, из...

Почему процедура заливает весь PictureBox а не только окружность
Здравствуйте. Подскажите почему так происходит (процедура заливает весь PictureBox а не только окружность) Не могу понять. Видимо дело в...

DrawLine
медод DrawLine рисует линию из одной точки в другую. Как можно сделать чтобы от 1 пикбокса до другого соеденить линией, и при передвижении...


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

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