我不想用line在上面一条一条的画,这样太慢了。。因为picturebox很大,
有没有什么好的办法?

解决方案 »

  1.   


        在picture控件里放一个shape,设置大小与picture一样大,矩形,fillstyle为cross。
      

  2.   

    用API LineTo
    就算很大,你只要画要显示的部分就可以了
      

  3.   

    放的这个shape会不会影响这个picturebox控件上的其他控件的应用呢?picturebox是个容器。
      

  4.   

    我刚才试了一下,上面那个问题我知道了,应该是不会的吧。但是如何设置shape控件上网络之间的大小呢?我前面忘记说了,我需要网络之间的间
    隔可以由用户调整。并且如何设置网格线为虚线呢?我只找到了边框为虚线。谢谢大家了
      

  5.   

    我觉得用LINE也不见得慢...
    在画之前,先将PICTUREBOX隐藏起来...这样会加快二倍以上的速度...
      

  6.   

    mshflexgrid也许不能符合你的要求.
    它是一个网格编辑控件.
      

  7.   

    区域800*600,间距10
    line (5,0)-(5,600)
    bitblt dest.hdc,10,0,10,600,src.hdc,0,0,srccopy
    bitblt dest.hdc,20,0,20,600,src.hdc,0,0,srccopy
    bitblt dest.hdc,40,0,40,600,src.hdc,0,0,srccopy
    10,20,40,80......一直画到超出800.
    再水平方向来一遍.怎么样?
      

  8.   

    或用刷子填充.
    createsolidbrush
    extfloodfill
      

  9.   

    这里有vc,vb,java,delphi源代码大全,国内和国外的经典软件代码请访问www.feidu.net
      

  10.   

    ColdMooon(月光寒):
    用line的方法肯定不行的啊。这样会很慢的。。我里面加载的是一张地图,并且大小可变。这样效率太低了,,用刷子填充怎么填啊?那createsolidbrush
    extfloodfill
    是什么意思?我以前接触VB较少。谢了先
      

  11.   

    我不太明白你的意思。
    请举个例子,图片框有多大,线的间距是多少?
    我试过,就算用line一条一条的画,也感觉不到延迟。我以为,还是用透明的image置与picturebox之前的好。
      

  12.   

    是这样的:
    我这张地图,起始长宽为20000个象素,并且可由用户增加其大小。要求背景做成16x16的网格(象素),即间距为16个象素,但是这个间隔是由用户可选的,可以32,48等等。
    如果用line来画的话,应该慢的吧用image置前是什么意思?