我有一个OpenFileDialog
,其MultiSelect
属性开启。我的问题是如何限制要选择的项目数量,例如仅限5项?
由于
答案 0 :(得分:4)
您可以使用FileOk事件检查用户单击“确定”按钮时选择的文件。如果您不满意,则显示一条消息并将CancelEventArgs.Cancel属性设置为True以防止对话框关闭。像这样:
Dim dlg As New OpenFileDialog()
dlg.Multiselect = True
AddHandler dlg.FileOk, Sub(s, ce)
If dlg.FileNames.Length > 5 Then
MessageBox.Show("Please select no more than 5 files")
ce.Cancel = True
End If
End Sub
If dlg.ShowDialog = Windows.Forms.DialogResult.OK Then
'' etc...
End If
答案 1 :(得分:1)
你做不到。但你有其他选择:
1 .- 一个好的选择可能是将所有文件名放在文本文件中,然后接受该文本文件作为程序的输入。
2 .- 您应该允许用户选择目录。然后列出所有文件并让它们选择尽可能多的文件,不会有任何问题。
3 .- 您可能需要使用FolderBrowserDialog
,然后使用IO.Directory.GetFiles
,它才能正常运作。
答案 2 :(得分:1)
就我所见,OpenFileDialog
中没有内置功能。可能的解决方案是检查从对话框返回的FileNames
。例如,如果计数超过5,则提醒用户并在不操作文件的情况下停止。