Es gibt keine integrierte Steuerung dafür, aber es ist sehr einfach mit einer Standard-ComboBox zu erreichen. Schau mal einer auf dem Formular, ändern Sie den Dropdownstyle zu Dropdownlist-Bearbeitung zu verhindern, und in dem Load-Ereignisse für das Formular, fügen Sie diese Zeile:
comboBox1.DataSource = Environment.GetLogicalDrives();
Jetzt können Sie das SelectedValueChanged Ereignis behandeln, Maßnahmen zu ergreifen, wenn jemand die ausgewählten Änderungen Fahrt.
Nachdem ich this question beantwortet habe, habe ich einen anderen (besseren?) Weg gefunden, dies zu tun. Mit der DriveInfo.GetDrives() -Methode können Sie die Laufwerke auflisten und das Ergebnis an die ComboBox binden. Auf diese Weise können Sie begrenzen, welche Laufwerke apppear. So könnte man mit dieser beginnen:
comboBox1.DataSource = System.IO.DriveInfo.GetDrives();
comboBox1.DisplayMember = "Name";
Jetzt comboBox1.SelectedValue vom Typ Driveinfo sein, so finden Sie viele weitere Informationen über das ausgewählte Spiel. Und wenn Sie nur Netzlaufwerke zeigen möchten, können Sie dies jetzt tun:
comboBox1.DataSource = System.IO.DriveInfo.GetDrives()
.Where(d => d.DriveType == System.IO.DriveType.Network);
comboBox1.DisplayMember = "Name";
Ich denke, die Driveinfo Methode viel flexibler ist.
Warum willst du das? –
Es gibt gute Gründe, warum Sie die dem System zur Verfügung stehenden Laufwerke auflisten müssen: Zum Beispiel müssen wir in der Lage sein, ein System so zu konfigurieren, dass verschiedene Geldbeträge in Abhängigkeit davon geladen werden, auf welchem Laufwerk der Benutzer speichern möchte. (Nein, ich denke nicht, dass es eine gute Idee ist, aber der Kunde besteht darauf). – Jedidja