我听说shape控件是画在form上的,对此不太理解,如果是画上去的,为什么cls清楚不了呢。我可能vb水平不高,我想自己编一个类似shape的控件,可以有任意的形状,有top,left属性,背景透明,有虚线,实线,填充等属性,想请大家指点。

解决方案 »

  1.   

    那就不用shape控件,直接在form上绘图,就可以cls了.
      

  2.   

    shape是封装过的,要清除只能 .Visible = False
      

  3.   

    在Shape的Paint事件中, 它会重绘它自己。
      

  4.   

    老马又不给出方案建议,晕个啥Shape控件在接收到Cls命令后,会执行重绘动作。同jadeluo
      

  5.   


    label shape image都是轻量型控件,是程序负责维护的
    就是说你的程序负责绘制工作
    就是 form cls了 重绘的时候 form里面所有的轻量型控件也会自动重新绘制一次,这个是程序自己做的。或者可以说 你不动还好 你要是cls了 它反而会绘制一次。
      

  6.   

    大家说在接到cls命令后,shape自动重绘一次,那如果我设个form_mousemove的事件,事件中,先form1.cls,然后设置shape.left=x,shape.top=y,那么shape 控件又怎么随着鼠标动,而form上不留痕迹呢。算我钻牛角,请大家指点。