比较简单的方法是用异步调用.首先定义同要调用的函数具有签名的代表:private delegate void MoveDelegate(int x, int y);
MoveDelegate de = new MoveDelegate(Move);
de.BeginInvoke(.....);
在回调函数中de.EndInvoke(...);
具体可以看.NET帮助中的异步调用.

解决方案 »

  1.   

    msdn中推荐的方法是间接调用
    class thd
    {
      int x;
      int y;
      public thd(int xx, int yy){x=xx;y=yy;}
      public void thstart(){ start(x, y);}
      public void start(int a, int b){...}}
    thd t = new thd(3,4);
    TheadStart myd = new TheadStart(t.thstart);
      

  2.   

    可以使用全局变量来传递参数。不过记得在Start()之前让它Sleep(100)。
      

  3.   

    要传递参数的话可以简单封装Thread类比如class MyThread
    {
       Thread thread;   public MyThread(object args)
    }args就可以作为参数传递
      

  4.   

    同意 demoer(lv) 的说法,我也是这样用的