非专业程序员

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2010年8月3日

摘要: 一、为什么Control类提供了Invoke和BeginInvoke机制?关于这个问题的最主要的原因已经是dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己。1、windows程序消息机制Windows GUI程序是基于消息机制的,有个主线程维护着一个消息泵。这个消息泵让windows程序生生不息。 Windows GUI程序的消息循环Windows程序有个消息队列,窗体上的所有消息是这个队列里面消息的最主要来源。这里的while循环使用了GetMessage()这个方法,这是个阻塞方法,也就是队列为空时方法就会被阻塞,从而这个... 阅读全文
posted @ 2010-08-03 23:17 曲仁岗 阅读(5772) 评论(0) 推荐(5) 编辑

摘要: 多线程使用TextBox控件 //声明一个委托 public delegate void SetTextBoxValue(string value); //委托使用文本框 void SetMyTextBoxValue(string value) { // Control.InvokeRequired 属性: 获取一个值,该值指示调用方在对控件进行方法调用时是否必须调用 Invoke 方法,因为调用方位于创建控件所在的线程以外的线程中。当前线程不是创建控件的线程时为true,当前线程中访问是False if (this.TextBoxControl.InvokeRequired) { SetTe 阅读全文
posted @ 2010-08-03 22:55 曲仁岗 阅读(717) 评论(0) 推荐(0) 编辑