Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Заполнение контрола данными в отдельном потоке (https://forum.antichat.xyz/showthread.php?t=125689)

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?


Время: 12:36