Auswahl der Laufwerke dynamisch anzeigen

Hey, warum soll man nicht mal einen Beitrag veröffentlichen, den man im September 2011 vorbereitet hat.
Hab‘ das mal für ein Projekt gebraucht und dachte das wäre ein nettes kleines Code-Snippet. Warum ich den Beitrag nie veröffentlicht habe, weiß ich leider auch nicht mehr …

Um was geht es: In einem Dropdown Menü die verfügbaren Systemlaufwerke dynamisch anzeigen. Dafür hängt man sich in das Event DropDownOpening rein. Da ich es bei einem ToolStripMenuItem verwendet habe, verwende ich den Cast am Anfang um die Liste zu leeren. Danach holen wir uns die Laufwerke und generieren uns neue ToolStripMenuItems, mit einem Eventhandler und einem eindeutigen Name, bevor wir diese ins Menü einhängen. Hier das entsprechende Snippet:

void tsmiChoose_DropDownOpening(object sender, EventArgs e)
{
    ((ToolStripMenuItem)sender).DropDownItems.Clear();
    System.IO.DriveInfo[] allDrives = System.IO.DriveInfo.GetDrives();
 
    for (int i=0; i<allDrives.Length; i++)
    {
        ToolStripMenuItem item = new ToolStripMenuItem(d.Name, null, new EventHandler(selectDevice), "tsmiDevice_"+i.ToString("00"));
        ((ToolStripMenuItem)sender).DropDownItems.Add(item);
    }
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert