ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Заполнение контрола данными в отдельном потоке
  #1  
Старый 17.06.2009, 13:10
Аватар для ZneP
ZneP
Познающий
Регистрация: 07.11.2006
Сообщений: 59
Провел на форуме:
180703

Репутация: 11
По умолчанию Заполнение контрола данными в отдельном потоке

Добрый день!

Хочу сделать заполнение контрола 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?
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ