我知道是让另一个线程调用当前线程的控件,就是不知道InvokeRequired是做什么用的,为什么Invoke调用了本身的方法。

解决方案 »

  1.   

    InvokeRequired 是做判断的,判断this的线程和调用这个方法(DeviceUpdate)的线程是不是同一个线程。如果是。则切换到this这个线程(               Invoke(new DeviceUpdateDelegate(DeviceUpdate), new object[] { });)这里的this就是你这个控件类,对应的线程也就是UI线程。所有的Form只有一个UI线程。UI线程的控件元素只能被这个控件所创建的UI线程所修改。
      

  2.   

    invokeRequired用于判断是否是控件所在线程调用的,不是的话为true;Invoke用于跨线程调用控件进行操作。