我想完成我的静态提示类能够从任何地方调用它。但问题是无法使对话框显示。我已经在使用[STAThread]
,这里是我的代码。C#OpenFileDialog线程启动,但没有显示对话框
public static string ShowFileDialog()
{
string selectedPath = "";
var t = new Thread((ThreadStart)(() =>
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.RootFolder = System.Environment.SpecialFolder.MyComputer;
fbd.ShowNewFolderButton = true;
if (fbd.ShowDialog() == DialogResult.OK)
{
selectedPath = fbd.SelectedPath;
}
}));
t.SetApartmentState(ApartmentState.STA);
t.Start();
t.Join();
return selectedPath;
}
public static class Prompt
是我的提示类。我打电话给public partial class Dashboard : Form
类
谢谢你的帮助。
当对话框不可见时,能否描述一下使用ShowFileDialog()的用例?它可能是它是可见的但不是重点? –
我只想在系统收到来自套接字的命令时询问用户文件的路径。 –
你从哪里调用ShowFileDialog()? – Akansha