找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 2450|回复: 1

C#多线程中windows控件的调用

[复制链接]

4

主题

5

回帖

87

积分

用户组: 小·技术宅

UID
97
精华
0
威望
2 点
宅币
64 个
贡献
10 次
宅之契约
0 份
在线时间
2 小时
注册时间
2014-2-28
发表于 2014-3-2 11:40:48 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
本帖最后由 0x过 于 2014-4-7 11:13 编辑

多线程中windows控件的调用, 我自己查了百度,都是说使用委托,然后进行invoke 方法进行调回原来的UI困惑了老半天终于有解决的方法!!!
首先参考了别人的代码:
         Thread t1;//声明一个全局线程
  1. private void Form1_Load(object sender, EventArgs e)
  2. {
  3. t1 = new Thread(new ThreadStart(BackgroundProcess));
  4. t1.Start(); //开始
  5. }
  6. delegate void aa();
  7. private void BackgroundProcess()
  8. {
  9. // 将委托实例化
  10. aa a= delegate()
  11. {
  12. for (int i = 0; i < 50; i++)
  13. {
  14. listBox1.Items.Add("Iterations: " + i.ToString());
  15. Thread.Sleep(300);
  16. listBox1.Refresh();
  17. }
  18. };
  19. listBox1.Invoke(a); //调回原来的UI
  20. }
复制代码

回复

使用道具 举报

1112

主题

1653

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
245
威望
744 点
宅币
24265 个
贡献
46222 次
宅之契约
0 份
在线时间
2299 小时
注册时间
2014-1-26
发表于 2014-3-2 14:50:45 | 显示全部楼层
欢迎新人发帖!只不过,请把代码的Tab弄好,然后用【mw_shl_code】来显示代码。
回复 赞! 靠!

使用道具 举报

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-5-5 22:03 , Processed in 0.036150 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表