我在调戏一个多线程程序时出现工作线程居然有一个子窗口的UI拷贝
具体情况如下:我先是从主窗口new一个子窗口,在子窗口内有一个工作线程进行其它运算,但是当我第一次Dispose窗口时没有问题,但是第二次我再new一个同样的子窗口时,我突然发现在工作线程有一个上一子窗口的UI拷贝!
代码如下:
        void top_OnReadMsg(string msg, EventState state)
        {
            //string m_thread = Thread.CurrentThread.Name;
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new MsgHandler(totop_OnReadMsg), msg, state);
            }
            else
             {
                toolStatus.Text = msg;
             ................
              }
            } 
我在调试,发现第二次this是已经关闭窗口实例
请问下各位达人,这种问题是怎么回事,我如何才能解决?谢了

解决方案 »

  1.   

    你已经说了,你是在调戏程序,程序当然也调戏你。
    你是通过什么确认 第二次this是已经关闭窗口实例
      

  2.   

    不好意思,打错了,第二次的this我是通过UI控件的值来判定是第一次窗口的实例
      

  3.   

    不好意思,打错了,第二次的this我是通过UI控件的值来判定是第一次窗口的实例
      

  4.   

    用GetHashCode()来确认两次是不是同一个实例。
      

  5.   

    GetHashCode()可靠。但给的信息有点少,多给点信息,方便找问题。
      

  6.   

    GetHashCode()怎么判断使用,还没有用过,麻烦给个例子,谢了