我有一个类库,因为我有一个后台工作者。我需要在后台工作者中使用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窗体应用程序调用ShowDialogthis.Invoke((MethodInvoker)delegate
{
//my code
});
是否可以从后台工作者中的类库中调用它?如果是这样,怎么样?
修改
我发现只有在我更改ListBox控件值或更改表单中的任何值时才会释放对象,如果我没有在表单中进行任何更改,则ShowDialog可以正常工作。 - Narayan 42秒前编辑