辅助窗体从 c# 后台工作程序冻结

本文关键字:后台 工作程序 冻结 窗体 | 更新日期: 2023-09-27 18:37:19

我在 c# 中有一个简单的窗口窗体,它附加了一个后台工作线程(从设计器中拖放简单)。启动应用程序几秒钟后,后台工作程序被编程为启动。在DoWork()方法中,我声明了一个Form2对象(我与设计器一起创建的简单表单,上面只有一个标签),我调用form2.Show()。问题是form2一显示就冻结了,我不明白为什么。谁能解释一下?

辅助窗体从 c# 后台工作程序冻结

这应该有效:

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
    {
        this.Invoke((MethodInvoker) delegate(){
            new Form2().Show();
        });
    }