fox123871 2021-10-13 10:36 采纳率: 0%
浏览 41

winform中多线程给控件赋值问题

Task.Run(() =>
            {
                for (var i = 1; i <= 100000; i++)
                {
                    //Thread.Sleep(1);
                    int number = i;
                    this.BeginInvoke(new Action<int>(x =>
                    {
                        this.label2.Text = x.ToString();
                    }), number);
                }
            });

点击按钮,调用这个异步多线程代码段,给窗体的lable赋值,注释掉Thread.sleep ,界面就会卡死,直到循环后最终结果再赋值,跟同步差不多。不注释就正常!

请问这是什么情况,应该怎么调整!不想使用thread.sleep解决这个问题!

  • 写回答

1条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 创建了问题 10月13日

      悬赏问题

      • ¥15 这个程序哪里有问题呢,显示0分
      • ¥15 我想问一下像图片中这种效果怎么实现
      • ¥20 关于#vue.js#的问题:el-tag拖放到 el-input框时无法完成填充(语言-javascript)
      • ¥15 python小游戏飞机大战空格发射子弹报错,添加旋转代码后陨石一直变大,不知道哪里出错了
      • ¥50 QT websocket·
      • ¥15 配置LED用PWM波点亮,但是LED与LCD的引脚复用问题导致PWM无法使能
      • ¥15 Python如何进行分数的求和
      • ¥15 prophet 在进行fit时报错
      • ¥60 共享充电宝程序想要一个
      • ¥15 求:支付宝旧版接口文档