Надеюсь, это поможет
Add-Type -AssemblyName System.Windows.Forms
$FolderBrowser = New-Object System.Windows.Forms.FolderBrowserDialog
$FolderBrowser.Description = 'Select the folder containing the data'
$result = $FolderBrowser.ShowDialog((New-Object System.Windows.Forms.Form -Property @{TopMost = $true }))
if ($result -eq [Windows.Forms.DialogResult]::OK){
$FolderBrowser.SelectedPath
} else {
exit
}
// Редактировать для комментария
Существует 2 варианта (перегрузки) метода ShowDialog ().
См. Документацию: http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.showdialog%28v=vs.110%29.aspx
Во втором варианте вы можете указать окно, которое должно быть матерью диалога.
Topmost следует использовать экономно или не использовать вообще!Если несколько окон являются самыми верхними, то какие из них самые верхние?;-)) Сначала попытайтесь установить ваше окно как мать, затем OpenfileDialog / SaveFileDialog всегда должен отображаться над вашим окном:
$openFileDialog1.ShowDialog($form1)
Если этого недостаточно, возьмите Topmost.
Ваш диалогОкно наследует свойства от матери.Если ваше главное окно является самым верхним, то диалоговое окно также является самым верхним.
Вот пример, который устанавливает диалог Самое верхнее.
В этом примере, однако, используется новое несвязанное окно, поэтомудиалог не связан.
$openFileDialog1.ShowDialog((New - Object System.Windows.Forms.Form - Property @{TopMost = $true; TopLevel = $true}))