好的,这是我想要实现的主要本质以及它正在做的事情的症状。
我有一个主窗口窗体。在此表单上,用户可以单击一个按钮,该按钮将打开一个新的单独的表单。此表单将有一个按钮,该按钮应该显示一个 FolderBrowserDialog。相反,它只是锁定 form2 并且从不显示任何内容。
这基本上是我处理表单等的代码。
这是在我做了一些无趣的事情后加载的第一种形式。
FORM1.cs
//do stuff
//In a button.click method I do the following
Application.Run(new Form2(myParameters1, 2, 3));
这是从第一种形式调用的第二种形式
FORM2.cs
//do more stuff with the parameters on load
//user clicks on a button
private void button1_Click(object sender, EventArgs e)
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.RootFolder = Environment.SpecialFolder.Desktop;
fbd.Description = "This is the browser dialog box";
if(fbd.ShowDialog() == DialogResult.OK)
{
//do stuff
}
}
单击按钮后,对话框不显示,form2 被锁定,无法执行任何操作。
我也尝试过改变
fbd.ShowDialog()
至
fbd.ShowDialog(Form2.ActiveForm)
结果相同。
任何帮助,将不胜感激!如果您需要更多信息,请告诉我,我可以尽我所能提供。
编辑
我忘了提(实际上完全忘了)打开第二种形式的方法是一个单独的线程。
所以第一个表单启动了一个线程,它打开了第二个表单,它应该打开一个不是它的对话框。现在我认为它与线程有关..