任何人都可以帮助我我有一个问题我试图让这段代码在后台通过线程池工作,但我似乎无法得到它的工作我不断收到此错误:在Windows窗体中无效的跨线程操作
Cross-thread operation not valid: Control 'ListBox3' accessed
from a thread other than the thread it was created on.
这里是我使用的代码:
private void DoWork(object o)
{
var list = ListBox3;
var request = createRequest(TxtServer.Text, WebRequestMethods.Ftp.ListDirectory);
using (var response = (FtpWebResponse)request.GetResponse())
{
using (var stream = response.GetResponseStream())
{
using (var reader = new StreamReader(stream, true))
{
while (!reader.EndOfStream)
{
list.Items.Add(reader.ReadLine());
ResultLabel.Text = "Connected";
}
}
}
}
}
这是正确答案 - 如果需要,可以使用委托调用。查看提供的链接中的“线程安全调用Windows窗体控件”部分。 – Algirdas