Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
テキストボックスから入力された数値で座標をとり、線を書く
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30338#CommentId83306
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
ゆうさく
 (社会人)
投稿日時
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