我遇到的情况是我正在创建一个文件打开对话框供用户选择文件。在大多数的情况下,他们需要选择相同的文件,但不一定是所有时间。为了加快用户的流程,是否可以预先选择文件名,这样他们只需按Enter键,但如果愿意,可以选择不同的文件名吗?
这是我到目前为止所拥有的:
Function Get-FileName($initialDirectory) {
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$OpenFileDialog.initialDirectory = $initialDirectory
$OpenFileDialog.filter = "All files (*.*)| *.*"
$OpenFileDialog.ShowDialog() | Out-Null
$OpenFileDialog.filename
}
答案 0 :(得分:0)
我能想到的最简单的解决方案是将过滤器更改为文件的过滤器。用户仍然必须选择文件才能输入,但是您可以将决策过程简化为无。
Function Get-FileName($initialDirectory) {
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$OpenFileDialog.initialDirectory = $initialDirectory
$OpenFileDialog.filter = "The data file | file.csv|All files (*.*)| *.*"
$OpenFileDialog.ShowDialog() | Out-Null
$OpenFileDialog.filename
}