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

Не получается нарисовать линию программно на динамически созданной панели

27.06.2016, 20:34. Показов 1848. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго Всем времени суток !
Не могу понять что делаю не так ?

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Imports System.Drawing
Public Class Form1
    Dim pan As Panel
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        pan = New Panel
        With pan
            .BackColor = Color.Orange
            .Size = New Size(300, 200)
        End With
        Me.Controls.Add(pan)
 
        Dim g As Graphics = pan.CreateGraphics()
        g.DrawLine(Pens.Black, 0, 0, 100, 100)
    End Sub
    
End Class
Почему не получается нарисовать линию g.DrawLine(Pens.Black, 0, 0, 100, 100).
Подскаите что делаю не так?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.06.2016, 20:34
Ответы с готовыми решениями:

нарисовать линию на панели
вот я открыл панель курса валют как мне нарисовать линию из одной точки в другую

Перемещение динамически созданной кнопки по динамически созданной сетки
Всем привет!!! Помогите не могу допетрить как сделать. суть моей проблемы в том что, мне необходимо сделать чтобы динамически созданная...

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

4
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
27.06.2016, 21:53
Рисовку линии перенесите в событие Paint
VB.NET
1
2
3
4
Private Sub Form1_Paint(sender As System.Object, e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
    Dim g As Graphics = pan.CreateGraphics()
    g.DrawLine(Pens.Black, 0, 0, 100, 100)
End Sub
Или привяжите весь код к кнопке
VB.NET
1
2
3
4
5
6
7
8
9
10
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    pan = New Panel
    With pan
        .BackColor = Color.Orange
        .Size = New Size(300, 200)
    End With
    Me.Controls.Add(pan)
    Dim g As Graphics = pan.CreateGraphics()
    g.DrawLine(Pens.Black, 0, 0, 100, 100)
End Sub
1
0 / 0 / 1
Регистрация: 03.05.2012
Сообщений: 49
28.06.2016, 00:57  [ТС]
СПАСИБО !

Добавлено через 5 минут
А вот так почему то не рисуется если рисую на PictureBox
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Imports System.Drawing
Public Class Form1
    Dim pan As PictureBox
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        pan = New PictureBox
        With pan
            .BackColor = Color.Orange
            .Size = New Size(300, 200)
        End With
        Me.Controls.Add(pan)
 
    End Sub
 
    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        Dim g As Graphics = pan.CreateGraphics()
        g.DrawLine(Pens.Black, 0, 0, 100, 100)
    End Sub
End Class
Почему ?
0
 Аватар для Грот
15 / 15 / 2
Регистрация: 08.02.2013
Сообщений: 198
28.06.2016, 02:16
а если не форм1 паинт, а пикчерсбокс1 паинт?
0
0 / 0 / 1
Регистрация: 03.05.2012
Сообщений: 49
28.06.2016, 02:32  [ТС]
Спасибо буду пробывать

Добавлено через 5 минут
СПАСИБО !
Вот так получилось
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Imports System.Drawing
Public Class Form1
    Dim pan As PictureBox
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        pan = New PictureBox
        With pan
            .BackColor = Color.Orange
            .Size = New Size(300, 200)
        End With
        AddHandler pan.Paint, AddressOf pan_Paint
        Me.Controls.Add(pan)
    End Sub
 
    Private Sub pan_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs)
        Dim g As Graphics = e.Graphics
        g.DrawLine(Pens.Black, 0, 0, 100, 100)
    End Sub
End Class
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.06.2016, 02:32
Помогаю со студенческими работами здесь

Не получается нарисовать линию
Здравствуйте. Вод код, все идет без ошибок но линии нету. Подскажите кто если знает (только не гоняйте по ссылкам плиз. а то поверьте ...

Каждой динамически созданной кнопке свой динамически созданный PictureBox
Добрый день. Надеюсь, что пишу в тот раздел. Находил немного похожие темы: каждая созданная кнопка оперирует с уже существующим объектом,...

Обращение к динамически созданному объекту на динамически созданной форме
Как, создав динамический объект, TButton, обратиться к нему? Unit1.cpp void __fastcall TForm1::Button2Click(TObject *Sender) { ...

Удаление динамически созданной кнопки
как можно нажав допустим пкм на кнопку Б, удалить кнопку Б, если кнопка Б была создана динамически???

Обращение к динамически созданной DataGridView
Всем доброго времени суток! Итак, имеем: - Массив из датаГридВью - ТабКонтрол - Список подразделений. ЧекЛистБокс. Выбираем из...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
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, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru