小编rik*_*rik的帖子

Gui在使用线程时会冻结

我被困住了,希望有人可以帮助我.

我已经制作了一个类/ gui,其中一个加载条设置为选取框,这样当执行任务时我可以将其显示给用户.

在我的一个gui类中,在第一行的构造函数中,我正在创建此类的新实例然后执行

    LoadingBar bar = new LoadingBar();
    Thread thread = new Thread(bar.Show);
    thread.Start();
Run Code Online (Sandbox Code Playgroud)

然而,即使主程序线程正在做一些更密集的东西,这个gui似乎仍然冻结,即使我使用backround worker.

我提到的方法有什么问题,如果有,我需要改变什么?

谢谢

c# user-interface multithreading freeze

5
推荐指数
1
解决办法
1833
查看次数

基本的线程问题

如果我有课

public Class foo
{
    public foo()
    {
        myclass = new myclass(param)
        myclass.initiateState();
        val = myclass.getValues();
    }
}
Run Code Online (Sandbox Code Playgroud)

Class.initiateState() 是一个漫长的过程,它在我的GUI构造函数中运行,我想开始用一个线程运行,但是下一行转到同一个类来获取一些数据,但如果我在一个新线程中运行第一行,那么这会得到在完成之前执行.

我怎么解决这个问题?

c# multithreading

3
推荐指数
1
解决办法
104
查看次数

标签 统计

c# ×2

multithreading ×2

freeze ×1

user-interface ×1