Поиск по этому блогу

C# Console Application FolderBrowserDialog and OpenFileDialog TopMost

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);
        }
    }