投稿者 ゆうさく  (社会人) 投稿日時 2018/6/10 21:38:42
教えていただいたのを参考にし、3つ 座標を入れて△を描くこうとするとおかしなことになります

座標 (150,100)(100,200)(300,200)を入力してるんですけれども
実施すると (0,0)(100,200)(300,200)
の3点を結んだ三角形になっています。

(150,100)(100,200)(300,200)
この3つを結んだ三角形を作りたいです。

        For i = 0 To maxIndex - 1
            For j = i + 1 To maxIndex
                If i <> j Then
                    g.DrawLine(Pens.Black, zahyo(i), zahyo(j))
                End If
            Next
        Next

予想なんですけれども
例えば
i = 0 の時  g.DrawLine(Pens.Black, zahyo(0), zahyo(1))
i = 1 の時  g.DrawLine(Pens.Black, zahyo(1), zahyo(2))
i = 2 の時  g.DrawLine(Pens.Black, zahyo(2), zahyo(3))

になっていると思います

i = 2 の時に g.DrawLine(Pens.Black, zahyo(0), zahyo(2))
にしたいんですけど、どこを修正すればいいでしょうか?

Public Class Form1
    Private zahyo(8) As Point

Private Sub txt()


        zahyo(0).X = Val(TextBox1.Text)

        zahyo(0).Y = Val(TextBox2.Text)

        zahyo(1).X = Val(TextBox3.Text)

        zahyo(1).Y = Val(TextBox4.Text)

        zahyo(2).X = Val(TextBox5.Text)

        zahyo(2).Y = Val(TextBox6.Text)

        zahyo(3).X = Val(TextBox7.Text)

        zahyo(3).Y = Val(TextBox8.Text)

        zahyo(4).X = Val(TextBox9.Text)

        zahyo(4).Y = Val(TextBox10.Text)

        zahyo(5).X = Val(TextBox11.Text)

        zahyo(5).Y = Val(TextBox12.Text)

        zahyo(6).X = Val(TextBox13.Text)

        zahyo(6).Y = Val(TextBox14.Text)

        zahyo(7).X = Val(TextBox15.Text)

        zahyo(7).Y = Val(TextBox16.Text)



    End Sub

    Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
        Dim canvas As New Bitmap(PictureBox1.Width, PictureBox1.Height)
        Dim g As Graphics = Graphics.FromImage(canvas)

        Call txt()


        Dim maxIndex As Integer = zahyo.Length - 1
        For i = 0 To maxIndex - 1
            For j = i + 1 To maxIndex
                If i <> j Then
                    g.DrawLine(Pens.Black, zahyo(i), zahyo(j))
                End If
            Next
        Next

       PictureBox1.Image = canvas

    End Sub
End Class