在我的应用程序中,我更新了backgrounworker线程中的一个treeview。在更新树视图时,组合框值不可见。当树视图更新时,会显示值。C#组合值在线程准备就绪后可见
这里是我的BackgroundWorker代码:
void _bgWorker_DoWork(object sender, DoWorkEventArgs e)
{
tvCategories.Invoke((MethodInvoker)delegate()
{
FillCategoryTreeView(); // Fills the treeview
}
);
}
,填补我的组合框代码:
private void FillCategoryCombo()
{
Category categorie = new Category();
List<Category> categories = categorie.GetQuestionCategories();
cmbCategories.DataSource = categories;
cmbCategories.DisplayMember = "Description";
cmbCategories.ValueMember = "Id";
}
组合框填充在窗体的构造函数。
我把树视图放在一个单独的线程中的原因是因为树视图必须更新。在此期间,我想继续使用该应用程序。因此我需要访问组合框。但是树形视图正在更新时,组合框的值不可见。
该怎么做才能解决这个问题?
什么问题?你只告诉我们你做了什么,有什么问题,但现在什么... 如果你只调用一个UI调用,使用backgroundWorker有什么意义? – Peter 2010-02-25 14:23:20