投稿者 るきお  (社会人) 投稿日時 2008/11/24 02:06:52
これは「グラフィックが消えないようにする」のとはまた別の問題ですね。
DrawLineなどのグラフィックを描く命令はほとんどの場合、グラフィックを表示する命令を含んでいません。
つまり、描くことと表示することはコンピュータにとっては別の作業なのです。(人間にはわかりにくいですが・・・)

そこでPictureBox1に表示を促すInvalidateメソッドを使用すると解決すると思います。
関係ない部分でコードをそのまま実行できなかったので少し手を入れましたが、この問題だけに限定するとInvalidateメソッドでいけると思います。

   
Private Sub PictureBox1_MouseUp(ByVal sender As ObjectByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseUp

    Dim dpen As Pen = Pens.Red  '←るきお追加 

     X2 = e.X
    Y2 = e.Y

    Dim g As Graphics = AutoGraphics(PictureBox1)
    g.DrawLine(dpen, X1, Y1, X2, Y2)
    PictureBox1.Invalidate()    '←るきお追加 

    'End If '←るきおによるコメント化 

End Sub