日期:2014-05-17  浏览次数:20466 次

帮忙看个多线程的winform程序吧。
C# code

private void button1_Click(object sender, EventArgs e)
        {
            Control.CheckForIllegalCrossThreadCalls = false;
            Thread myThread = new Thread(HotelManager.getHotelInfoToMemCacheNew);
            myThread.Start(richTextBox1);
        }
这是button1的click事件 

我现在想把这个事件里执行的东西独立成一个方法 

private static void button1click(object source, System.Timers.ElapsedEventArgs e)
        {
            Control.CheckForIllegalCrossThreadCalls = false;
            Thread myThread = new Thread(HotelManager.getHotelInfoToMemCacheNew);
            myThread.Start(richTextBox1);
        } 
 
但是这是就出现问题了,这个richTextBox1是窗体中的一个RichTextBox控件,在这个方法中调用不到 

这是winform项目 

该怎么办啊? 




------解决方案--------------------
探讨
C# code

private void button1_Click(object sender, EventArgs e)
{
Control.CheckForIllegalCrossThreadCalls = false;
Thread myThread = new Thread(HotelManager.getHotelIn……

------解决方案--------------------
用ParameterizedThreadStart 把对象传递过去就是了。
------解决方案--------------------
myThread.Start(richTextBox1);

开始一个方法名,你却给他一个控件名