日期:2014-05-18  浏览次数:20757 次

请高人改错:一个关于多线程的问题
void BtnBrowserClick(object sender, EventArgs e)
  {
  Thread uploadFile = new Thread(new ThreadStart(FtpUpFile));
  uploadFile.Start(dlg.FileName);//dlg.FileName已经在全局变量中赋值了
  }
 private void FtpUpFile(string strFileName)
  {
  MessageBox.Show(strFileName);
  }
运行的时候报的错误:“FtpUpFile”的重载均与委托“System.Threading.ThreadStart”不匹配
请问高人如何改错?

------解决方案--------------------
void BtnBrowserClick(object sender, EventArgs e) 

Thread uploadFile = new Thread(new ThreadStart(FtpUpFile));
uploadFile.Start(dlg.FileName);//dlg.FileName已经在全局变量中赋值了
Thread uploadFile = new Thread(new ThreadStart(FtpUpFile)); //不能有参数
uploadFile.Start();

private void FtpUpFile() 

MessageBox.Show(strFileName); 
}
------解决方案--------------------
void BtnBrowserClick(object sender, EventArgs e)
{
Thread uploadFile = new Thread(FtpUpFile);
uploadFile.Start(dlg.FileName);//dlg.FileName已经在全局变量中赋值了
}
private void FtpUpFile(string strFileName)
{
MessageBox.Show(strFileName);
}
------解决方案--------------------
FtpUpFile的函数应该定义为:private void FtpUpFile(object state){...}