Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当我试图从backgroundworker\u RunWorkerCompleted事件打开时,Winform没有显示?_C#_Winforms_Backgroundworker - Fatal编程技术网

C# 当我试图从backgroundworker\u RunWorkerCompleted事件打开时,Winform没有显示?

C# 当我试图从backgroundworker\u RunWorkerCompleted事件打开时,Winform没有显示?,c#,winforms,backgroundworker,C#,Winforms,Backgroundworker,我的操作的细节是我有一个winform,它只包含进度条,我做了一些计算并将最终值存储在db中。为此,我使用了进度条和backgroundworker线程。 我正在backgroundworker线程事件doWork事件中进行所有计算。 当backgroundworker完成时,它调用RunWorkerCompleted事件,在该事件中我尝试打开另一个winform。 问题是winform不可见 private void backgroundWorker1_RunWorkerCompleted(o

我的操作的细节是我有一个winform,它只包含进度条,我做了一些计算并将最终值存储在db中。为此,我使用了进度条和backgroundworker线程。 我正在backgroundworker线程事件doWork事件中进行所有计算。 当backgroundworker完成时,它调用RunWorkerCompleted事件,在该事件中我尝试打开另一个winform。 问题是winform不可见

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) 
{ 
    if (!string.IsNullOrEmpty(click)) { 
        if (click == "sales") { 
           Sales sales = new Sales(); 
           sales.MdiParent = mdiStockApp.mdi; 
           sales.Show(); 
           sales.Activate(); 
        } 
    } 
}

这是RunWorkerCompleted事件,我试图在其中打开另一个事件。刚才我也尝试了form.Activate(),但仍然没有

可能是BackgroundWorker OnWorkCompleted引发了跨线程异常?在另一个线程中尝试UI处理,检查this.IsInvokeRequired属性并使用this.Invoke(…)

能否提供一个代码段,显示您试图打开其他窗体的内容?确保私有void backgroundWorker1\u RunWorkerCompleted(对象发送方,RunWorkerCompletedEventArgs e){if(!string.IsNullOrEmpty(单击)){if(click==“sales”){sales sales=new sales();sales.MdiParent=mdiStockApp.mdi;sales.Show();sales.Activate();}}这是RunWorkerCompleted事件,我试图在其中打开另一个事件。刚才我也尝试过form.Activate(),但是如果删除
if()
语句,它仍然无效吗?它与
Sales
以外的表单一起工作吗?不。即使没有if代码,它也不工作。当我调用Sales.Show()并尝试调试时,它永远不会进入Sales表单。有什么原因吗???