读书人

winform ComboBox 加载数据时过慢解决

发布时间: 2012-09-02 21:00:34 作者: rapoo

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

读书人网 >C#

热点推荐