我在窗体上用line方法画了两条线,想擦除其中的一条怎么办?

解决方案 »

  1.   

    Line2.Visible = False把它属性设为不可见
      

  2.   

    这样不行吧
    我是这样画的线:
    type myarr
        x as long
        y as long
    end type
    dim arr() as myarr
    dim arr2() as myarr
    '两个数组赋值过程省略
    ':第一条
    pset ((0,0)-(3,3)),vbred
    for i=0 to ubound(arr)
        line -(arr(i).x,arr(i).y),vbred
    next':第二条
    pset ((0,0)-(4,4)),vbblue
    for i=0 to ubound(arr2)
        line -(arr2(i).x,arr2(i).y),vbblue
    next
      

  3.   

    楼上正解.pset ((0,0)-(4,4)),vbblue
    for i=0 to ubound(arr2)
        line -(arr2(i).x,arr2(i).y),vbblue
    next假设上面代码能正常运行,则下面代码可擦除之.
    pset ((0,0)-(4,4)),vbblue
    for i=0 to ubound(arr2)
        line -(arr2(i).x,arr2(i).y),vbWindowBackground
    next
      

  4.   

    关键在 form.DrawMode
    比原色覆盖还爽
      

  5.   

    我画的曲线有可能会有相交的,如果用窗体的背景色重画的话会有问题哦
    看来最好的办法还是利用DrawMode了,不过这里也会有麻烦,如果用DrawMode=vbXorPen,虽然再画一次就可以相当于擦除,但是我想画一条红色的线如:line -(x,y),vbred那画出来的就不是红色了,则该怎么办呢
      

  6.   

    整个不要了可以
    PictureBox1.Cls
      

  7.   

    那这样,还不如不用Line方法,而是用Line控件,多简单~
      

  8.   

    //我画的曲线有可能会有相交的,如果用窗体的背景色重画的话会有问题哦
    看来最好的办法还是利用DrawMode了,不过这里也会有麻烦,如果用DrawMode=vbXorPen,虽然再画一次就可以相当于擦除,但是我想画一条红色的线如:line -(x,y),vbred那画出来的就不是红色了,则该怎么办呢
    ---------
    将DrawMode=Not Xor Pen
    DrawMode=10
    那么,画过的地方就搽掉,没画过的地方用什么颜色就什么颜色。