有没有办法同时调用多个方法?我有一个 winforms 应用程序,它在加载时会加载大量数据:
private void form1_Load(object sender, EventArgs e)
{
LoadValues1();
LoadValues2();
LoadValues3();
LoadValues4();
LoadValues5();
LoadValues6();
LoadValues7();
LoadValues8();
}
这些方法检索数据并填充 DevExpress LookUpEdits(类似于 windows 下拉列表),所以它们看起来像这样:
DBContext dbContext = new DBContext();
ObservableCollection<string> values1 =
new ObservableCollection<string>((from i in dbContext.Items
where i.Value1 != null
&& i.Value1.Length > 0
orderby i.Value1
select i.Value1).Distinct());
lookupValues1.Properties.DataSource = descModelYear;
DevExpress.XtraEditors.Controls.LookUpColumnInfoCollection colInfo = lookupValues1.Properties.Columns;
colInfo.Clear();
colInfo.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("Column"));
colInfo[0].Caption = "Values 1";
其中一些方法需要一段时间才能完成,但它们都不是相互依赖的,所以我想我可以同时完成它们:
Task.Factory.StartNew(() => LoadValues1());
Task.Factory.StartNew(() => LoadValues2());
etc.
但是当第二个任务运行时我不断收到错误,说不能从与创建它的线程不同的线程访问控件。
任何帮助表示赞赏!