Запретить доступ к сетевому диску из FolderBrowseDialog VB.Net

#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, что побудило меня начать читать об этом, чтобы я мог полностью понять ваш пример. Еще раз спасибо, что указали мне правильное направление.