不确定是什么导致了这个问题,但我有一个使用 Windows 窗体作为 UI 的 PowerShell 脚本。在 PowerShell ISE 中开发它时,现代风格的按钮看起来一切都很好。当我从 PowerShell 运行它时,它会显示在 Windows 经典样式视图中,并在我调用New-Object System.Windows.Forms.SaveFileDialog
. 是否有解决此问题的方法可以添加到我的代码中,这样我的脚本不仅看起来更好,而且实际上可以在 ISE 之外运行?
编辑:这是我调用的函数SaveFileDialog
。这在 ISE 内部有效,但是当我从 PowerShell 本身运行脚本时,它会在我调用它时崩溃。
function exportToCSV([System.Object[]] $expArray) {
$save = New-Object System.Windows.Forms.SaveFileDialog
$save.CreatePrompt = $False
$save.SupportMultiDottedExtensions = $True
$save.DefaultExt = "csv"
$save.Filter = "CSV (*.csv) | *.csv*"
$save.Title = "Export to CSV"
if ($save.ShowDialog() -eq "OK") {
$expArray | export-csv $save.FileName
}
}