Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
マウスを動かしながら直線を引きたい
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=286#CommentId1944
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
JUN
 (社会人)
投稿日時
2009/2/6 01:47:27
はじめまして、JUNと申します。VB超初心者です。
趣味でペイントソフトをつくろうと思い、インターネットや本で勉強して以下のコードまでは理解できるようになりました。
Public Class Form1
Private startX, starty, endx, endy As Integer
Private Sub paint_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles paint.MouseDown
If e.Button = Windows.Forms.MouseButtons.Left Then
startX = e.X
startY = e.Y
End If
End Sub
Private Sub paint_Mousemove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles paint.Mousemove
If e.Button = Windows.Forms.MouseButtons.Left Then
endx = e.X
endy = e.Y
paint.Invalidate()
End If
End Sub
Private Sub paint_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles paint.Paint
e.Graphics.DrawLine(Pens.Red, startX, starty, endx, endy)
End Sub
注:PaintはPicturebox1です。
このコードだとマウスを動かしながら自由に視覚化した線を引くことはできるのですが、もう一回線を引くと前引いた線が消えてしまうのです。
いろんなサイトを見ましたがどこにも自分が求めている答えが見つからず困っています。(もしかしたら答えが載ってるサイトがあったかもしれませんが、自分のレベルでは理解できなかった可能性が大きいです;)
自分の考えではmauseupを追加し、mouseupしたときに描いた線をpaintに残しておく…みたいな風にやるのかなと考えていますが、やりかたがわかりません。
このような掲示板を利用するのは初めてなので聞き方や、マナーなどよくわからないのですが、ご回答、もしくはヒントでも教えていただけたら幸いです。
よろしくお願いします。