首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

winform ComboBox 加载数据时过慢解决办法

2012-09-02 
winform ComboBox 加载数据时过慢一种情况是如下加载InstalledFontCollectionfontsnewInstalledFontColle

winform ComboBox 加载数据时过慢
              一种情况是如下加载
                    InstalledFontCollection   fonts   =   new   InstalledFontCollection();

                        foreach   (System.Drawing.FontFamily   family   in   fonts.Families)
                        {
                                ComboBox   .Items.Add(family.Name);
                        }
                        ComboBox   .SelectedIndex   =   74;
          另一种情况是给他绑定数据源
               
                      ComboBox   .DisplayMember   =   "col_cname ";                      
                        ComboBox   .DataSource   =   new   ColumnsInvoking().GetDt();
                        ComboBox   .ValueMember   =   "col_name ";
                        ComboBox   .SelectedIndex   =   0;
  试过很多次,界面加载要迟钝三秒作用   ,数据量只有一百条左右,请高手指点   ,因为没分所以给不了了

[解决办法]
100条不至于吧,
实在不行,就在线程中加载ComboBox吧。
[解决办法]
添加之前清理下comebobox数据看看
[解决办法]
,慢应该是其他的原因。你在绑定前和绑定后定义2个时间,相减看看耗时多久。combox都是字符串 很快的。
[解决办法]
感觉第二种方法应该不会卡的,第一种如果只100条应该也不会,你在代码的前后记录下时间,看看是不是其他的位置卡住了
[解决办法]
如果觉得慢就使用委托
this.Invoke(new Action(() => { /*原代码不动放进来*/}));
这是同步委托,当然也可以改为异步

热点排行