struct Str
        {
            public string neirong;
            public string pathString;
        }        private void button1_Click(object sender, EventArgs e)
        {
                      if(saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                string path = saveFileDialog1.FileName;                Str s = new Str();
                s.pathString = path;
                s.neirong = "王小二现在";                CtrlThread ct=new CtrlThread();
               
                Thread t1 = new Thread(ct.SetExcelOne);//被调用的方法名
                t1.Start((object)s);
                            }
       我写了个线程练习 把结构体传了过去 被调用方法如和接送 (object 类型) 我写了个结构体去接送 结果失败了
       请问如何接送 或者 还有别的方法 可以让让线程 传递多个参数

解决方案 »

  1.   

       public void SetExcelOne(object aa)
            {
                OfficeExcel oe = new OfficeExcel();
                //string path = "d:\\我的文档\\桌面\\aaa";
                Str s = (Str)aa;            oe.AddExcel(s.pathString);
                oe.OpenExcel(s.pathString);
                for (int i = 1; i < 1000; i++)
                {
                    oe.SetCells(i.ToString(), "A",s.neirong+i.ToString()+"岁");
                }
                oe.SaveAs();
                oe.CloseExcel();
      

  2.   

    解决 用了 用匿名委托吧 Thread t1 = new Thread(delegate() { ct.SetExcelOne(path, ss); });
                    t1.Start();