日期:2014-05-18  浏览次数:21822 次

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(() => { /*原代码不动放进来*/}));
这是同步委托,当然也可以改为异步