Рисование в графическом окне - Visual Basic .NET

Формулировка задачи:

Всем здравствуйте. Мы нарисовали на PictureBox средствами GDI+ или API графический примитив. Свернув-развернув форму мы получим чистое окно, наше рисование исчезнет. Вставлять код в обработчик Paint не вариант, так-как это не статический блок кода. Наверняка есть способ, позволяющий дублировать наше рисование в памяти и при перерисовке формы его восстанавливать.

Код к задаче: «Рисование в графическом окне - Visual Basic .NET»

textual
Public Class Form3
    Private rnd As Random
    Private x1, y1, x2, y2 As Integer
    Private BM As Bitmap
    Private pnLn As Pen
    Private Sub Form3_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Timer1.Interval = 500
        pnLn = New Pen(Brushes.Red, 3)
        BM = New Bitmap(PictureBox1.Width, PictureBox1.Height)
    End Sub
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        x1 = 0 : y1 = 0
        rnd = New Random
        Timer1.Enabled = True
    End Sub
    Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
        x2 = rnd.Next(0, PictureBox1.Width)
        y2 = rnd.Next(0, PictureBox1.Height)
        Using G As Graphics = Graphics.FromImage(BM)
            G.DrawLine(pnLn, New PointF(x1, y1), New PointF(x2, y2))
            PictureBox1.Image = BM
        End Using
        x1 = x2
        y1 = y2
    End Sub
End Class
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

5   голосов, оценка 4.600 из 5


СДЕЛАЙТЕ РЕПОСТ