[C#] Dynamisch MenuStrip Items hinzufügen?

WorldRacer

Erfahrenes Mitglied
Hallo zusammen,

habe einen Minibrowser gebastelt, der nun auch eine Lesezeichen-Funktion bekommen soll. Dies soll so aussehen wie im IE oder Firefox, dass man die Lesezeichen über ein Menü wählen kann. Habe folgendes gemacht:

Habe einen Ordner Bookmarks im Programmverzeichnis wo Ordner und Textdateien gespeichert sind. Die Textdateien enthalten den Link, und der Name der Textdatei ist der Name des Lesezeichens.

Diese werden auch Problemlos eingelesen und die Menüs angelegt. Mein Problem jetzt ist:

>>>> Wie bekomme ich den "Click"-Handler so hin, dass ich zwischen den Menüs unterscheiden kann, wenn ich die Einträge so hinzufüge:

Code:
                FileInfo[] files = dir.GetFiles("*.bmk", SearchOption.TopDirectoryOnly);
                foreach (FileInfo file in files)
                {
                    ToolStripMenuItem mnuFile = new ToolStripMenuItem(file.Name.Substring(0, file.Name.IndexOf(".bmk"))); // .bmk aus Dateinamen entfernen und Menu-Item generieren
                    mnuFile.Image = Resources.html_file_48x48;   //Icon hinzufügen
                    mnuFile.Click += new EventHandler(mnuFile_Click);   // Clickhandler hinzufügen
                    mnuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { mnuFile }); // Lesezeichen in das Menü des Ordners packen
                }

Code:
void mnuFile_Click(object sender, EventArgs e)
        {
            // Bei Klick auf Lesezeichen
        }

Lässt sich das auch anders regeln? Das Menü ist allerdings dabei Pflicht, das brauche ich!

Danke im voraus,

Gruß WR
 
Hallo zusammen,

habe einen Minibrowser gebastelt, der nun auch eine Lesezeichen-Funktion bekommen soll. Dies soll so aussehen wie im IE oder Firefox, dass man die Lesezeichen über ein Menü wählen kann. Habe folgendes gemacht:

Habe einen Ordner Bookmarks im Programmverzeichnis wo Ordner und Textdateien gespeichert sind. Die Textdateien enthalten den Link, und der Name der Textdatei ist der Name des Lesezeichens.

Diese werden auch Problemlos eingelesen und die Menüs angelegt. Mein Problem jetzt ist:

>>>> Wie bekomme ich den "Click"-Handler so hin, dass ich zwischen den Menüs unterscheiden kann, wenn ich die Einträge so hinzufüge:

Code:
                FileInfo[] files = dir.GetFiles("*.bmk", SearchOption.TopDirectoryOnly);
                foreach (FileInfo file in files)
                {
                    ToolStripMenuItem mnuFile = new ToolStripMenuItem(file.Name.Substring(0, file.Name.IndexOf(".bmk"))); // .bmk aus Dateinamen entfernen und Menu-Item generieren
                    mnuFile.Image = Resources.html_file_48x48;   //Icon hinzufügen
                    mnuFile.Click += new EventHandler(mnuFile_Click);   // Clickhandler hinzufügen
                    mnuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { mnuFile }); // Lesezeichen in das Menü des Ordners packen
                }

Code:
void mnuFile_Click(object sender, EventArgs e)
        {
            // Bei Klick auf Lesezeichen
        }

Lässt sich das auch anders regeln? Das Menü ist allerdings dabei Pflicht, das brauche ich!

Danke im voraus,

Gruß WR

ich werde aus dem Code nicht schlau.
Bekomme eine Fehlermeldung: "Eine implizite Konvertierung vom Typ "string[]" in "System.IO.FileInfo[]" ist nicht möglich."
was mache ich falsch
 

Neue Beiträge

Zurück