フォーム画面に線が描画された状態で起動する方法についてお知らせ下さい

タグの編集
投稿者 hige3  (社会人) 投稿日時 2025/5/10 18:42:23
Visual Studio Community 2022  使用の初心者です。
フォーム画面に線が描画された状態で起動するにはどうすれば良いでしょうか?

Form1_Load などを下記にして試しましたが起動時には何も描画されません。
フォーム上のボタンクリックで  GamenKaki_1() を呼び出すと線が描画されます。

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        GamenKaki_1()
        Me.CreateGraphics.DrawLine(New Pen(Color.Red, 2), 10, 120, 50, 220)
    End Sub

    Private Sub GamenKaki_1()
        Me.CreateGraphics.DrawLine(New Pen(Color.Blue, 2), 10, 240, 50, 320)
    End Sub

    Private Sub Btn_Age_Click(sender As Object, e As EventArgs) Handles Btn_Age.Click
        GamenKaki_1()
    End Sub
ご教授、宜しくお願い致します
投稿者 KOZ  (社会人) 投稿日時 2025/5/10 20:10:49
CreateGraphics で作成したオブジェクトに描画したものは一過性のもので、何かあると消えてしまいます。
継続して描画するには Paint イベントで行ってください。

 Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles MyBase.Paint
    e.Graphics.DrawLine(New Pen(Color.Red, 2), 10, 120, 50, 220)
End Sub
投稿者 hige3  (社会人) 投稿日時 2025/5/11 06:31:35
KOZ様
有り難う御座います。

起動時の操作なので Form1_Load で設定するものと思っていました。
Form1_Paint というのがあったんですね。

実現したいのは、フォームに数本の線があって、条件によって一部の線の色を変える事でした。
上書きで実現できることを確認しました。

有り難う御座いました。
今後とも御教授、宜しくお願い致します。