我用vs2003中的datagrid填充单元格内容及为单元格设定样式(主要是根据内容不同定义颜色)填充的是两个50*12的表格。在VS2003中速度还能接受平均每次一秒内就能完成。
但同样的代码经过VS2005自动升级后运行时平均每次都超过2秒,点一下就象死机一样。后改用VS2005中的DATAGRIDVIEW控件,填颜色有了专用的事件,也就是写代码时方便一些,但效率并没有多大的提高。
如我将设单元格颜色去除两个版本的速度到是差不多。不知是我代码有问题还是,有什么象vb6时Redraw=false开关重绘的属性没被我发现。还请各位指点。

解决方案 »

  1.   

    你把DataGridView的VirtualMode属性值置为true看看。
      

  2.   

    楼上virtualmode只对CellValueNeeded事件有效(无法对单元格设定颜色)而且是大量数据时用的,我只不过是2*50*12=1200格,如不加颜色速度还是很快的。就是加了颜色才慢了下来。还请其它各位指点。
      

  3.   

    VS2005对系统要求高~=======================================================
    那我过生成的exe(release)直接运行也一样慢!
      

  4.   

    修改了一下,把原来自定义DataGridColumnStyle中自定义的ComboBox去除,速度快了1秒左右。原来的ComboBox加了根据每个item的不同內容填充不同背景色。看来也是一个很大的系统开销。原来CPU:2G+512M对vs2005来说也是入门配置。