我要写个form窗体程序,同时还有个线程。我有个读卡器每当读到卡的时候或者没有卡线程都要给窗体发个消息,我实在不会写。
哪为高手指点下。

解决方案 »

  1.   

    delegate. 如果需要显示+invoker。代码只好自己GOOGLE了
      

  2.   


    public delegate void CardReadHandler(object param);public class CardReader
    {
    public event CardReadHandler CardRead
    {
       add{...}
       remove{...}
    }void ThreadFunc()
    {
        while(true)
        {
            OnCardRead(param);
        }
    }private CardReadHandler onCardRead;
    }WinForm:
        mCardReader.CardRead += this.OnCardRead;
       
    private void OnCardRead(object param)
    {
        //...在这里处理
    }private CardReader mCardReader;
    [/code]
      

  3.   

    用invoke,invokerequiried来解决,见msdn,很容易的。
      

  4.   


     Action a;
     //...
     a.BeginInvoke(null,null);
     //...
     this.Invoke(Delegate.CreateDelegate(typeof(Action),a.Method),null);线程与窗口交互你可关注下这个函数 "this.Invoke"= System.Windows.Forms.Control.Invoke