#vb.net #folderbrowserdialog
#vb.net #folderbrowserdialog
Вопрос:
Я использую FolderBrowseDialog в моей форме Vb, Net Windows, чтобы попросить пользователя определить, где находится определенный файл на их компьютере, но я хочу разрешить только локальные диски, а не сетевые диски.
Кто-нибудь знает способ запретить отображение сетевых дисков в FolderBrowseDialog или запретить их выбор.
Комментарии:
1. Вы имеете в виду подключенные сетевые диски? Вы можете передать выбранный путь FBD в DriveInfo:
var dInfo = new DriveInfo(fbd.SelectedPath); if (dInfo.DriveType == DriveType.Network) { ... }
. Отобразите предупреждение и снова запустите диалоговое окно.2. При попытке этого кода он выдал исключение. {«Объект должен быть корневым каталогом («»C:»») или буквой диска («»C»»).»} Система. Исключение {Система. Исключение ArgumentException}
3. Ну, я по какой-то причине разместил это на C #. Возможно, вы не адаптировали его к VB.Net (и ваш существующий код), как и должно быть:
Using fbd As New FolderBrowserDialog() fbd.RootFolder = Environment.SpecialFolder.MyComputer If fbd.ShowDialog() = DialogResult.OK Then dim dInfo as new DriveInfo(fbd.SelectedPath) if dInfo.DriveType = DriveType.Network then [...] End If End If End Using
4. Спасибо, я никогда раньше не использовал DriveType, что побудило меня начать читать об этом, чтобы я мог полностью понять ваш пример. Еще раз спасибо, что указали мне правильное направление.