выпадающий список исчезает при использовании многопоточности - PullRequest
0 голосов
/ 27 февраля 2012
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;
}

Когда я вызываю эту функцию из основного потока, она отлично работает, но у меня есть другой поток (это не фоновый поток), когда я вызываю эти коды из другого потока, мой комбинированный список исчезает, но источник данных обновляется, просто идетиз формы.

Заранее спасибо.

...