PDA

Просмотр полной версии : Заполнение контрола данными в отдельном потоке


ZneP
17.06.2009, 13:10
Добрый день!

Хочу сделать заполнение контрола ListBox данными из БД в отдельном потоке.

вот код:


namespace Thread
{
public partial class Form1 : Form
{
DataSet ds = new DataSet();

OleDbConnection conn = new OleDbConnection();
OleDbDataAdapter data = new OleDbDataAdapter();

public void FillData()
{
conn = new OleDbConnection("...");

data = new OleDbDataAdapter("...", conn);

ds.Tables["list"].Clear();
data.Fill(ds.Tables["list"]);
}

public Form1()
{
InitializeComponent();

ds.Tables.Add("list");

listBox1.DataSource = ds.Tables["list"];
listBox1.DisplayMember = "p_name";
}

private void button1_Click(object sender, EventArgs e)
{
System.Threading.Thread th = new System.Threading.Thread(new System.Threading.ThreadStart(FillData));
th.Start();
}
}
}


DataSet в отдельном потоке заполняется нормально, но контрол не обновляется. Какую функцию у контрола необходимо вызвать, чтобы он отображал новые данные из DataSet?