Query("SELECT City From Database GROUP BY City", out ds);
citycombobox.DataSource = null;
System.Windows.Forms.ComboBox.ObjectCollection coll = new ComboBox.ObjectCollection(citycombobox);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
coll.Add(ds.Tables[0].Rows[i][0]);
}
if (citycombobox.InvokeRequired)
{
cityrcombobox.Invoke((MethodInvoker)delegate()
{
citycombobox.DataSource = coll;
citycombobox.SelectedIndex = -1;
});
}
else
{
citycombobox.DataSource = coll;
citycombobox.SelectedIndex = -1;
}
当我从主线程中调用此函数时,它的工作完美,但是我有另一个线程(它不是后台线程)当我从另一个线程调用此代码时,我的组合框消失但是数据源正在更新,只是从表单开始。
提前致谢。