爲了與線程,委託人和背景工作人員一起玩,我正在編寫一些小應用程序,我在其中一個小問題上遇到了一些麻煩。 我有一個Windows窗體,有一個文本框,一個按鈕和一個richttext。 當我按下按鈕,文本框中的文本被用作參數設置爲實例化一個類,如下所示:C#線程問題
public partial class Form1 : Form
{
private BackgroundWorker backgroundWorker;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
backgroundWorker = new BackgroundWorker();
backgroundWorker.DoWork += new DoWorkEventHandler(worker_DoWork);
backgroundWorker.RunWorkerAsync();
}
void worker_DoWork(object sender, DoWorkEventArgs e)
{
new Thread((ThreadStart)delegate()
{
this.BeginInvoke((ThreadStart)delegate()
{
foreach (string line in textBox1.Lines)
{
Dig digger = new Dig(line, textBox1.Text);
digger.DomainChecked += new Dig.DomainCheckedHandler(OnUpdateTicker);
string response = digger.GetAllInfo();
richTextBox1.AppendText(response);
Application.DoEvents();
}
});
}).Start();
}
void OnUpdateTicker(string msg)
{
new Thread((ThreadStart)delegate()
{
this.BeginInvoke((ThreadStart)delegate()
{
label4.Text = msg;
Application.DoEvents();
});
}).Start();
}
}
當調試我碰上「textBox1.Lines」投擲類型的異常' Microsoft.VisualStudio.Debugger.Runtime.CrossThreadMessagingException' 有關如何解決此問題的任何提示?