vb在picturebox中画直线画到外面去

前面写的代码,后面是运行程序以后出现的状况。鼠标落点实际运行时线段起点不是同一个点,线段终点也不是鼠标抬起的点。总之就是画的线整体偏移了,不能画在picturebox内,... 前面写的代码,后面是运行程序以后出现的状况。鼠标落点实际运行时线段起点不是同一个点,线段终点也不是鼠标抬起的点。总之就是画的线整体偏移了,不能画在picturebox内,而如果鼠标移得过右则画不出线段。整个程序如果在form下编写则可以实现。求大神解答 展开
 我来答
nefu_20061617
2014-11-29 · TA获得超过2342个赞
知道大有可为答主
回答量:1064
采纳率:72%
帮助的人:1479万
展开全部
直接写Line是在窗体上画线。
应该把
Line (xpos, ypos)-(X, Y)
改为
Picture4.Line (xpos, ypos)-(X, Y)
追问

画是能画了。。问题是为何成这样了。。。鼠标滑动时候每个xy坐标它都连成线。应该是那个if button=1的原因?请问怎么改?菜鸟不懂。。。。

追答

把 Picture4 的 AutoRedraw 设为 True

在 Picture4 中添加一个控件 Line1 ,Visible 设为 false

Dim xpos As Single, ypos As Single
Private Sub Picture4_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  xpos = X: ypos = Y
End Sub
Private Sub Picture4_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
  With Line1
    .X1 = xpos
    .Y1 = ypos
    .X2 = X
    .Y2 = Y
    .Visible = True
  End With
End If
End Sub
Private Sub Picture4_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
  Line1.Visible = False
  Picture4.Line (xpos, ypos)-(X, Y)
End If
End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式