2016-06-05 6 views
1

Ich habe ein Formular, auf dem ein Benutzer eine Quelle Laufwerksbuchstaben auswählen:einschränken Drive Letter Auswahl nach Art

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

Ich brauche die Auswahl der Laufwerksbuchstaben auf CD-ROM oder USB zu beschränken. Mein Code unten validiert Buchstaben CD-ROM-Laufwerk, aber nicht USB-Laufwerksbuchstaben:

' 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 

Wie konfiguriere ich den Code über den Laufwerksbuchstaben zu validieren ist, ausgewählt CD-ROM oder USB?

Antwort

2

Sie sind nur Klammern unter der Bedingung fehlt:

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

Vereinfacht gesagt, Sie hatten:

If Not A Or B 

Aber die Not gilt nicht ohne die Klammern nach B - es gilt nur für A

+0

Hallo Robin, die funktionierte. Ich danke dir sehr! George – georgemackenzie