您的位置:程序门 -> .net技术 -> vb.net



大家帮我看看picturebox的问题,不知道那里错了


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


大家帮我看看picturebox的问题,不知道那里错了[已结贴,结贴人:sd1368969]
发表于:2007-10-08 10:53:41 楼主
  private   sub   pic1_mousedown(byval   sender   as   object,   byval   e   as   system.windows.forms.mouseeventargs)   handles   pic1.mousedown

   
                        if   e.button   =   windows.forms.mousebuttons.left   then
                                if   not   shoulddrawline   then
                                        pstart   =   new   point(e.x,   e.y)
                                        shoulddrawline   =   true
                                else
                                        pend   =   new   point(e.x,   e.y)
                                        call   drawline1(pstart,   pend)   我想在pic1中操作   在pic2中画出线段
                                        shoulddrawline   =   false
                                end   if
                        end   if
end   sub
  private   sub   drawline1(byval   mpoint1   as   point,   byval   mpoint2   as   point)
                pic2.enabled   =   true
                mpoint1.y   =   mpoint1.y   +   250   pic1和pic2的x左边都一样   y值相差250
                mpoint2.y   =   mpoint2.y   +   250
                pic2.creategraphics.drawline(pens.blue,   mpoint1,   mpoint2)结果没有在pic2中画出线段
                microsoft.visualbasic.msgbox("yong   le   de   ")   此语句会运行
        end   sub   大家帮我看看怎么错了啊
发表于:2007-10-08 11:04:541楼 得分:0
高手们,在一个picturebox里面操作,在另外一个picturebox里面显示结果,帮帮我啊,急....在线等你   谢谢
发表于:2007-10-08 11:37:502楼 得分:0
没人知道吗,自己在顶下,不然就沉没了
简单的说,我在一个picturebox中获取两点,我怎么用这两点在另外一个picturebox画出线段来.
这两个picturebox  x坐标一样 y坐标不同 也就是一上一下排列的两个pixturebox
发表于:2007-10-08 12:04:183楼 得分:0
首先你要进行坐标转换.如果两个picturebox一样大,那么就用控件坐标也可以.你说的两点,只是在mousedown里记录吗?会被记录为2个点吗?也就是感觉pend根本就没有被记录下来,所以你的方法本身就有问题.
发表于:2007-10-08 12:11:094楼 得分:0
首先你要进行坐标转换.如果两个picturebox一样大,那么就用控件坐标也可以
能说具体点么?两个picturebox确实一样大
发表于:2007-10-08 13:54:015楼 得分:5
    mpoint1.y   =   mpoint1.y   +   250   pic1和pic2的x左边都一样   y值相差250  
    mpoint2.y   =   mpoint2.y   +   250  
把这两句删除就可以了,这里的x,y只相对于pic1,pic2,而非窗体下的绝对位置。
发表于:2007-10-08 13:59:386楼 得分:5
        private   sub   drawline1(byval   mpoint1   as   point,   byval   mpoint2   as   point)
                pic2.enabled   =   true
                'mpoint1.y   =   mpoint1.y   +   pic1.height
                'mpoint2.y   =   mpoint2.y   +   pic1.height
                '测试鼠标的位置。
                'msgbox("pic2.location.x:   0"   &   "-"   &   pic2.width   &   vbcrlf   &   _
                '               "pic2.location.y:   0"   &   "-"   &   pic2.height   &   vbcrlf   &   _
                '               "mpoint1.x:   "   &   mpoint1.x   &   vbcrlf   &   _
                '               "mpoint1.y:   "   &   mpoint1.y   &   vbcrlf   &   _
                '               "mpoint2.x:   "   &   mpoint2.x   &   vbcrlf   &   _
                '               "mpoint2.y:   "   &   mpoint2.y   &   vbcrlf)
                pic2.creategraphics.drawline(pens.blue,   mpoint1,   mpoint2)
        end   sub


快速检索

最新资讯
热门点击