|
发表于 2009-12-18 22:46:30
|
显示全部楼层
【11楼】 Gorgon Meducer 傻孩子
学C#先搞懂什么是delegate……
-----------------------------------
经典,引用安哥的话:
/// <summary>串口 DataReceived 事件处理程序方法
///
/// (一)在串口控件使用中,因为会“阻塞主线程”而使用辅助线程,在串口处理程序中不能直接
/// 使用主线程的方法,而要使用INVOKE方法进行“跨线程”方法调用
///
/// 0)设计需要调用到的“主线程”中的方法
/// private void UpdateTextBox(string text)
///
/// 1)声明一个委托
/// delegate void myInvokeDelegate(string text);
///
/// 2)实例化该委托的一个对象:注意该委托对象的参数就是“主线程中的方法”
/// myInvokeDelegate myInvokeDelegateSP = new myInvokeDelegate(UpdateTextBox);
///
/// 3)调用invoke方法,执行主线程的相关方法
/// this.Invoke(myInvokeDelegateSP, new string[] { Encoding.Unicode.GetString(readBuffer) });
不过顺便BS下VS2008的那个自带串口控件,好看不好用,长期高速传输数据会出问题。
看来得研究下API串口通信。 |
|