ピクチャボックスに図形を重ねて描画する
        投稿者 魔界の仮面弁士  (社会人)
        
        投稿日時 
            2021/10/8 09:47:53
        
    
    
        > 図2を描くと最初の図1が消えてしまいます。
> PictureBox1.Image = Canvas
額(PictureBox1)に飾っていた 絵画(Button1 で New した Canvas)を、
別の絵画(Button2 で New した Canvas)に差し替えているためです。
> どのように改善したらいいでしょう?
新たな Bitmap を毎回 New するのではなく、
以前描いた Bitmap に対して描画するようにします。
    
> PictureBox1.Image = Canvas
額(PictureBox1)に飾っていた 絵画(Button1 で New した Canvas)を、
別の絵画(Button2 で New した Canvas)に差し替えているためです。
> どのように改善したらいいでしょう?
新たな Bitmap を毎回 New するのではなく、
以前描いた Bitmap に対して描画するようにします。
Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        PictureBox1.Image = New Bitmap(PictureBox1.Width, PictureBox1.Height)
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Using g As Graphics = Graphics.FromImage(PictureBox1.Image)
            g.DrawLine(Pens.Red, 100, 100, 200, 200)
        End Using
        PictureBox1.Invalidate()
    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Using g As Graphics = Graphics.FromImage(PictureBox1.Image)
            g.DrawLine(Pens.Blue, 200, 200, 300, 300)
        End Using
        PictureBox1.Invalidate()
    End Sub
End Class
    
        投稿者 せんちゃ  (社会人)
        
        投稿日時 
            2021/10/8 10:28:40
        
    
    
        魔界の仮面弁士様
ありがとうございました!
    
ありがとうございました!
どのように改善したらいいでしょう?