マウスで指定した位置に、片方が矢印である線分を描画するアプリケーションを作成したいと思っています。1度目のクリックで線分の始点が、2度目のクリックで線分の終点が指定されるものとします。初心者のためどこが間違ってるか分かりません。アドバイス等お願いします。
[プログラム]
Public Class Form1
Dim g As Graphics
Private Sub PictMain_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictMain.MouseDown
Dim start_x As Integer = e.X
Dim start_y As Integer = e.Y
Dim end_x As Integer = e.X
Dim end_y As Integer = e.Y
Dim BPen As New Pen(Color.Black, 2)
BPen.EndCap = LineCap.ArrowAnchor
g.DrawLine(BPen, start_x, start_y, end_x, end_y)
PictMain.Invalidate()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictMain.Image = New Bitmap(PictMain.Width, PictMain.Height)
g = Graphics.FromImage(PictMain.Image)
End Sub
Private Sub ButtonClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonClear.Click
g.Clear(Color.White)
PictMain.Invalidate()
End Sub
End Class
> Dim start_x As Integer = e.X
> Dim end_x As Integer = e.X
これだと、start と end が常に同じ座標になってしまいますので、
「1回目」「2回目」の判定を行うコードを足してみてください。