C# Console Application Folder Browser Dialog and Open File Dialog TopMost
[STAThread]
static void Main(string[] args)
{
var threadFolderBrowserDialog = new Thread(voidFolderBrowserDialog);
threadFolderBrowserDialog.IsBackground = true;
threadFolderBrowserDialog.SetApartmentState(ApartmentState.STA);
threadFolderBrowserDialog.Start();
Console.WriteLine("Запуск выбора папки и файла в новом потоке");
bool Exit = false;
while (!Exit)
{
var exit = Console.ReadLine() == "exit" ? Exit = true : Exit = false;
Console.WriteLine("Выход из программы по команде exit");
}
}
[STAThread]
static void voidFolderBrowserDialog()
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.Description = " 1) Example text \n 2) Example text \n 3) Example text ";
fbd.RootFolder = System.Environment.SpecialFolder.Desktop;
fbd.SelectedPath = "C:\\Windows\\";
fbd.ShowNewFolderButton = true;
if (fbd.ShowDialog(new Form() { TopMost = true, TopLevel = true, WindowState = FormWindowState.Minimized }) == DialogResult.OK)
{
Console.WriteLine(fbd.SelectedPath);
}
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog(new Form() { TopMost = true, TopLevel = true, WindowState = FormWindowState.Minimized }) == DialogResult.OK)
{
Console.WriteLine(ofd.FileName);
}
}