首页 > 编程语言 >C#多线程 操作UI问题

C#多线程 操作UI问题

时间:2022-09-20 03:55:05浏览次数:101  
标签:Index C# ts progressBar1 int UI mpr 多线程

C# 多线程操作UI的简单写法:Keledo Super Plus 

private TaskScheduler mpr_ts_UIContext;
private void button1_Click(object sender, EventArgs e)
{
progressBar1.Visible = true;
progressBar1.Value = 0; //清空进度条
progressBar1.Maximum = 10000;
// 启动任务线程
Task.Run(() =>
{
for (int int_Index = 0; int_Index < 10000; int_Index++)
{
var ts_Run = Task.Factory.StartNew(() =>
{
progressBar1.Value += 1;
Tb_Text.Text = int_Index.ToString();
if (int_Index == 10000 - 1)
{
progressBar1.Visible = false;
}
}, CancellationToken.None, TaskCreationOptions.None, mpr_ts_UIContext);
// 注意这里要同步等待Task.Factory.StartNew的任务结束
ts_Run.Wait();
}
});
// 异步显示对话框
MessageBox.Show("异步执行...");
}
private void Form4_Load(object sender, EventArgs e)
{
mpr_ts_UIContext = TaskScheduler.FromCurrentSynchronizationContext();
progressBar1.Visible = false;

}
————————————————
版权声明:本文为CSDN博主「glad_666」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42020830/article/details/124960919

标签:Index,C#,ts,progressBar1,int,UI,mpr,多线程
From: https://www.cnblogs.com/tsdzzc/p/16709729.html

相关文章

  • CF round 812 div2 A-D 题解
    首先第一题TravelingSalesManProblem,给出一些坐标,就是问从原点出发,然后收集所有的点,问最少需要多少次移动这个就是求收集完那曼哈顿距离,这个距离稍加观察可以发现,就是......
  • 【数据库】OLE-DB、ODBC、ADO.NET、ADO、sql sever .net、 sqlite .net是什么
    概览OLE-DB、ODBC、ADO.NET、ADO、sqlsever.net、sqlite .net面像对象的数据库访问技术,可以将他们比喻为数据库应用程序和数据源之间的桥梁ODBC:访问关系型数据库OL......
  • MAUI导航栏-Android
    底部导航栏-TabBar,示例:<?xmlversion="1.0"encoding="UTF-8"?><Shellx:Class="Test.AppShell"xmlns="http://schemas.microsoft.com/dotnet/2021/maui"......
  • MAUI页面导航-await Shell.Current.GoToAsync();
    示例:Shell.Current.GoToAsync("..");//导航到前一页Shell.Current.GoToAsync(nameof(NotePage));//导航到Note页Shell.Current.GoToAsync($"{nameof(NotePage)}?{......
  • 【C#】无损转换Image为Icon
     https://www.cnblogs.com/ahdung/p/ConvertToIcon.html 备忘【C#】无损转换Image为Icon如题,市面上常见的方法是:varhandle=bmp.GetHicon();//得到图标句柄......
  • C++ 头文件接口设计浅谈
    C++头文件接口设计浅谈作者:独钓寒江雪链接:https://zhuanlan.zhihu.com/p/338227526对于很多出入门C++的程序员来说,大部门新手都是在用别人封装好的库函数,却没有尝试过......
  • Codeforces Round #640 (Div. 4) C. K-th Not Divisible by n
    CodeforcesRound#640(Div.4)翻译岛田小雅C.K-thNotDivisiblebyn出题人MikeMirzayanov有两个正整数\(n\)和\(k\),输出第\(k\)个不能被\(n\)整除的正整......
  • 实验二:Open vSwitch虚拟交换机实践
    基础要求提交a)/home/用户名/学号/lab2/目录下执行ovs-vsctlshow命令、以及p0和p1连通性测试的执行结果截图;b)/home/用户名/学号/lab2/目录下开启MininetCLI并执行p......
  • react useMemo、useEffect和 useCallback区别及与 vue 对比
    reactuseMemo和useEffect和useCallbackuseEffecteffect只能在DOM更新后触发useMemo传入useMemo的函数会在渲染期间执行,即在DOM更新前触发的,就像官方所说的,类比......
  • vue3 watch和 watchEffect对比
    watch和watchEffectwatchwatch显式指定依赖数据,依赖数据更新时执行回调函数具有一定的惰性(lazy),第一次页面展示的时候不会执行,只有数据变化的时候才会执行(设置i......