C#从类库中调用backgroundworker中的showdialog

时间:2014-06-03 15:52:19

标签: c# .net-3.5 backgroundworker class-library

我有一个类库,因为我有一个后台工作者。我需要在后台工作者中使用showdialog显示一个窗体。我尝试了下面的代码,对象正在处理中。

private void myBGWorker_DoWork(object sender, DoWorkEventArgs e)
{

   // non UI works 
       .....


    Form1 form1 = new Form1();
    form1.ShowDialog();                // Exception :  Cannot access a disposed object. Object name: 'form1'.
    String returnstring = form1.GetReturnString();

   // Continue non UI Works
    .....
}

我用谷歌搜索,我可以使用

从Windows窗体应用程序调用ShowDialog
this.Invoke((MethodInvoker)delegate
{
    //my code
});

是否可以从后台工作者中的类库中调用它?如果是这样,怎么样?

修改

我发现只有在我更改ListBox控件值或更改表单中的任何值时才会释放对象,如果我没有在表单中进行任何更改,则ShowDialog可以正常工作。 - Narayan 42秒前编辑

0 个答案:

没有答案