问题描述
。NET里面有个串口控件。我没有使用。。。自已定义了一个类。因为要和多串口通信。用很多那个控件感觉不好。所以。。。问题是这样的。串口类里面接收到数据了。怎么在把这个数据反回给窗口呢。。!以前我用VB写过思路是在类中定义一个事件然后串口接收事件收到数据后引发定义的事件,并把收到的数据传到定义的事件的参数里面然后。在窗口中调用此类时。就有自定义的那个事件。就是收到数据自已发生事件///////////////////////////////////////////////////////现在用C#找了一下资料用什么事件委托。但是我不知道怎么搞。或更有简单有效的方法。。请指点。。在此谢谢了!
解决方案
解决方案二:
我直接给你代码吧,看还简单不简单。privatedelegatevoidDelegate_Set_SerialPort_Text2(stringtext);privatevoidSetTextBox2(stringText){try{if(this.textBox1.InvokeRequired){Delegate_Set_SerialPort_Text2d=newDelegate_Set_SerialPort_Text2(SetTextBox2);this.textBox1.Invoke(d,Text);}else{this.textBox1.Text=Text;}}catch{}}privatevoidSP_DataReceived(objectsender,System.IO.Ports.SerialDataReceivedEventArgse){try{settextbox2(sp.readexist());}catch(Exceptionerr){MessageBox.Show(err.ToString());}}
这个总简单了吧,直接复制过去修改控件名字就可以用了,呵呵
解决方案三:
你二个方法都是放在窗体的CS文件里面吧。我的问题是新的一个类。。在窗体里定义了这个类的使用。如何把新的类里面的串口数据接收方法传到这个窗体的事件中。。总不能。一发送数据就去调用类中的方法吧。那要是数据还没收到就调用完了。不是没收到数据吗