VS2005-2008线程调用.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VS2005-2008线程调用

发现了几个用线程的方法: 方法一: 可以通过将 CheckForIllegalCrossThreadCalls 属性的值设置为?false?来禁用此异常。这会使控件以与在 Visual Studio 2003 下相同的方式运行。 也就是说在 Form_Load方法里面加上一句: System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = False 这样就可以想VS2003一样的运行线程了。 当然这只是为了将VS2003的代码转换到VS2005下所使用的一种常见的方法。 但是还是不推荐使用这种方法(毕竟2005设置该异常就是为了安全性考虑,还是不禁用得好)。 view plaincopy to clipboardprint? Imports?System.Threading.Thread ?? Public?Class?Form1 ?? ????Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click ?? ????????mythread.Start() ?? ????End?Sub?? ????Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load ?? ????????System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls?=?False?? ????End?Sub?? ????Dim?mythread?As?New?Threading.Thread(AddressOf?mysub) ?? ????Dim?counter?As?New?Integer?? ????Public?Sub?mysub() ?? ????????counter?=?0 ?? ????????While?True?? ????????????counter?=?counter?+?1 ?? ????????????TextBox1.Text?=?counter.ToString() ?? ????????End?While?? ????End?Sub?? End?Class?? ? 方法二: 这个方法比较烦琐,主要就是VS2005用线程调用窗体控件比较麻烦 所以要用线程调用窗体控件就必须设置代理函数,然后唤醒。 于是为了达到上面的效果写了以下代码,感觉不怎么好,好像做了一些不必要的事情,希望有更好方法的朋友一起分享。 先创建一个TextBox , 四个Button ?(Button1是开始,2是断开,3是暂停,4是恢复) view plaincopy to clipboardprint? Imports?System.Threading.Thread ?? Public?Class?Form1 ?? ????Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click ?? ????????mythread.Start() ?? ????????newthread.Start() ?? ????End?Sub?? ????Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load ?? ????End?Sub?? ????Public?Sub?ttread() ?? ????????pri() ?? ????End?Sub?? ????Dim?scounter?As?String?=?0?? ????Delegate?Sub?aa(ByVal?s?As?String)?创建一个代理 ?? ????Dim?counter?As?New?Integer?? ????Dim?newthread?As?New?Threading.Thread(New?Threading.ThreadStart(AddressOf?ttread)) ?? ????Dim?mythread?As?New?Threading.Thread(AddressOf?mysub) ?? ????Public?Sub?mysub() ?? ????????co

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档