1

私はこのような三角形を描こうとしています:

Dim triangle As Graphics
    Dim pen1 As New Pen(Color.LimeGreen, 2)
    Dim lside As Integer
    Dim wside As Integer
    Dim dside As Integer

triangle = Me.CreateGraphics()
triangle.DrawLine(pen1, wside, 420, 640, 420)
triangle.DrawLine(pen1, 640, lside, 640, 420)
triangle.DrawLine(pen1, dside, 420, 640, lside)

lsidewsideおよびdside縦方向、横方向、および斜め方向を表します。

長さ、幅、対角線、角度用の 4 つのテキスト ボックスがあります。目的は 2 つの値を埋めることであり、ピタゴラスの定理に従って直角三角形が描画されます。後でAngleにも線を引きたいと思います。しかし、私は最初にこれを機能させたいと思っています。

しかし、ボタンをクリックして新しい三角形を描くたびに、前の三角形は削除されます。そして、それが問題です。

トライアングル.ディスポーズトライアングル.リストアトライアングル.クリアなど、複数の方法を試しました。それらのどれも機能しません。

あなたが尋ねるかもしれない絵の箱にそれらを描かないのはなぜですか。ピクチャボックスに線を引くと、ピクチャボックスが線の前に出て、線が見えなくなりました。そして、それを修正する方法がわかりませんでした。

4

3 に答える 3

0

Me.Invalidate() を使用してみてください。基本的にはクリアされ、ペイントしている領域にシェイプが描画されます。参照

Private Sub ClearCanvas_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Me.Invalidate()
End Sub

Priavte DrawTriangle_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Dim triangle As Graphics
       Dim pen1 As New Pen(Color.LimeGreen, 2)
       Dim lside As Integer
       Dim wside As Integer
       Dim dside As Integer
       triangle = Me.CreateGraphics()
       triangle.DrawLine(pen1, wside, 420, 640, 420)
       triangle.DrawLine(pen1, 640, lside, 640, 420)
       triangle.DrawLine(pen1, dside, 420, 640, lside)
End Sub
于 2013-04-14T21:15:16.517 に答える