Ter*_*rii 5 c# ftp invoke winforms threadpool
任何人都可以帮助我,我有一个问题我试图让这个代码通过线程池在后台工作,但我似乎无法让它工作我一直收到此错误:
Cross-thread operation not valid: Control 'ListBox3' accessed
from a thread other than the thread it was created on.
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码:
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";
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 8
您可以通过执行此操作来访问controll
Invoke(new Action(() => {Foo.Text="Hi";}));
Run Code Online (Sandbox Code Playgroud)