Y
Your_Princess
Пишу такой код:
ОН компилируется, но во время выполнения выдаёт такую ошибку:
Cross-thread operation not valid: Control 'listBox1' accessed from a thread other than the thread it was created on.
на строке listBox1.Items.Add(count);
И я вот никак не пойму как сделать это правильно.
Помогите пожалуйста.
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace Threads
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void RunSecondThread()
{
for (int count = 0; count <= 20; count++)
{
listBox1.Items.Add(count);
Thread.Sleep(50);
}
}
private void button1_Click(object sender, EventArgs e)
{
Thread thrd = new Thread(new ThreadStart(this.RunSecondThread));
thrd.Start();
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
textBox1.Text = radioButton1.Text;
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
textBox1.Text = radioButton2.Text;
}
private void radioButton3_CheckedChanged(object sender, EventArgs e)
{
textBox1.Text = radioButton3.Text;
}
}
}
ОН компилируется, но во время выполнения выдаёт такую ошибку:
Cross-thread operation not valid: Control 'listBox1' accessed from a thread other than the thread it was created on.
на строке listBox1.Items.Add(count);
И я вот никак не пойму как сделать это правильно.
Помогите пожалуйста.