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