相关疑难解决方法(0)

使用TaskScheduler.FromCurrentSynchronizationContext更新Task中的UI

我想在列表框中添加一些文本Task,我只需使用一个按钮并在点击事件中放置此代码:

TaskScheduler uiScheduler = TaskScheduler.FromCurrentSynchronizationContext();
Task.Factory.StartNew(() =>
{
    for (int i = 0; i < 10; i++)
    {
        listBox1.Items.Add("Number cities in problem = " + i.ToString());
        System.Threading.Thread.Sleep(1000);
    }
}, CancellationToken.None, TaskCreationOptions.None, uiScheduler);
Run Code Online (Sandbox Code Playgroud)

但是直到for循环结束它才能工作并且UI被锁定.

问题出在哪儿 ?

谢谢 :)

c# multithreading task c#-4.0

1
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×1

c#-4.0 ×1

multithreading ×1

task ×1