在主线程里开启一个子线程,子线程执行完毕再回到主线程

复制代码
 1 //载入滚动图,在主线程里开启一个子线程,子线程执行完毕再回到主线程
 2  private void loadThread()
 3         {
 4             circularProgress.Visible = true;
 5             circularProgress.IsRunning = true;
 6             Thread threadProcess = new Thread(new ParameterizedThreadStart(funtion));
 7             threadProcess.Start();
 8         }
 9 
10         private void funtion(object o)
11         {
12             for (int i = 1; i < 1000; i++)
13             {
14                 Console.WriteLine(i);
15             }
16 
17             if (base.InvokeRequired)
18             {
19                 base.Invoke(new Action(() =>
20                 {
21                      circularProgress.IsRunning = false;
22                      circularProgress.Visible = false; 
23                 }));
24             }
复制代码

 

复制代码
 1 //用委托
 2 // 定义一个委托实现回调函数
 3         public delegate void CallBackDelegate();
 4         CallBackDelegate callBackDelegate;
 5         private void loadThread()
 6         {
 7             circularProgress.Visible = true;
 8             circularProgress.IsRunning = true;
 9             callBackDelegate = new CallBackDelegate(stopCircularProgress);
10             Thread threadProcess = new Thread(new ParameterizedThreadStart(funtion));
11             threadProcess.Start();
12         }
13 
14         private void funtion(object o)
15         {
16             for (int i = 1; i < 1000; i++)
17             {
18                 Console.WriteLine(i);
19             }
20             this.Invoke(callBackDelegate);
21         }
22 
23         private void stopCircularProgress()
24         {
25             circularProgress.IsRunning = false;
26             circularProgress.Visible = false;  
27         }
复制代码

 

posted @   一纸年华  阅读(3632)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示