请高人改错:一个关于多线程的有关问题

请高人改错:一个关于多线程的问题void BtnBrowserClick(object sender, EventArgs e){Thread uploadFile

请高人改错:一个关于多线程的问题
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){...}