Ограничить выбор буквы диска по типу

У меня есть форма, в которой пользователь может выбрать исходную букву диска:

If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then
    TextBox1.Text = FolderBrowserDialog1.SelectedPath
End If

Мне нужно ограничить выбор букв дисков CDROM или USB. Мой код ниже проверяет буквы дисковода CDROM, но не буквы дисков USB:

' Check selected drive type is CDROM or USB
Dim Drive As New IO.DriveInfo(TextBox1.Text)
If Drive.IsReady = True Then
    If Not Drive.DriveType = IO.DriveType.CDRom or Drive.DriveType = IO.DriveType.Removable Then
    MessageBox.Show("Source folder must be CD/DVD or USB.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information)
    Exit Sub
    End If
End If

Как настроить приведенный выше код, чтобы проверить, выбрана ли буква диска CDROM или USB?

1 ответ

Решение

Вам просто не хватает скобок при условии:

If Not (Drive.DriveType = IO.DriveType.CDRom or Drive.DriveType = IO.DriveType.Removable) Then

Проще говоря, у вас было:

If Not A Or B

Но Not не относится к B без скобок - это относится только к A.

Другие вопросы по тегам