Здравствуйте, Аноним, Вы писали:
А>Пытаюсь добавить данные в ListBox и при этом нужно делать так чтобы control не завис в процессе добавления данные, и еще видно были как данные добавляются, а не так чтоб "завис" потом "отвис" и показал данные.Сделаю через invoke но ничего не получается, тот же самый эффект как без поточном режиме:
А где собственно поток
public Form1()
{
InitializeComponent();
th = new Thread(new ThreadStart(FillListBoxThread));
}
private Thread th;
private void button1_Click(object sender, EventArgs e)
{
th.Start();
}
private void FillListBoxThread()
{
for (int i = 0; i < 50000; i++)
{
ListBoxItemsAdd(i);
}
}
private void ListBoxItemsAdd(int i)
{
if (listBox1.InvokeRequired)
{
listBox1.Invoke(new ListBoxItemsAddCallback(ListBoxItemsAdd), new object[] { i });
}
else
{
listBox1.Items.Add(i);
listBox1.SelectedIndex = listBox1.Items.Count - 1;
}
}
public delegate void ListBoxItemsAddCallback(int i);