Как рисовать на PictureBox'e, созданным программным способом (динамически) - Visual Basic .NET
Формулировка задачи:
Приветствую всех.
При создании объекта PictureBox динамическим способом, почему-то на нем не отображаются элементы Graphics. Уже не знаю что делать, чего только не перепробовал. При этом, если создавать пикчрбокс через панель инструментов, то все работает. Но мне как раз нужно создавать бокс программно.
В чем здесь ошибка? Не откажите в помощи начинающему программисту . Заранее спасибо.
Листинг программы
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- Dim pic as New PictureBox
- Dim gra As Graphics
- With pic
- .SizeMode = PictureBoxSizeMode.AutoSize
- .Size = New Size(400, 300)
- .Location = New Point(100, 100)
- .Visible = True
- .BackColor = Color.Aqua
- '.Show()
- End With
- Me.Controls.Add(pic) 'pic на форме отображается нормально
- gra = pic.CreateGraphics()
- gra.DrawLine(Pens.Black, 20, 20, 300, 300) 'а вот эту строку будто игнорирует
- 'ни один элемент graphics не отображается
- pic.Refresh()
- End Sub
Решение задачи: «Как рисовать на PictureBox'e, созданным программным способом (динамически)»
textual
Листинг программы
- Dim pic As New PictureBox, hlst As Bitmap
- With pic
- .SizeMode = PictureBoxSizeMode.AutoSize
- .Size = New Size(400, 300) : .Location = New Point(100, 100)
- .Visible = True : .BackColor = Color.Aqua
- End With
- hlst = New Bitmap(pic.ClientSize.Width, pic.ClientSize.Height)
- Me.Controls.Add(pic) 'pic на форме отображается нормально
- Dim graph As Graphics = Graphics.FromImage(hlst)
- graph.DrawLine(Pens.Black, 20, 20, 300, 300) 'а вот эту строку будто игнорирует
- pic.Image = hlst
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д