kostenloser Webspace werbefrei: lima-city


C# MenuStrip dynamisch füllen

lima-cityForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. Autor dieses Themas

    m**********n

    Hallo Community,

    seit einigen Tagen versuche ich ein MenuStrip dynamisch zu füllen.

    Dazu habe ich die ganzen Titel des MenuStrips in einer StringCollection und möchte aus diesen ToolStripMenuItems erzeugen. Ich habe mir das so gedacht: Da die Anzahl der Elemente variiert, erstelle ich eine List<> mit den Items. Für jedes Element der StringCollection möchte ich nun ein Item erstellen, diesem den Namen des Strings zuweisen und mit einer Anonymen Methode (delegate(){}-Schlüsselwort) ein Event hinzufügen.

    Sollte etwas schwer verständlich sein, bitte einfach zurückschreiben.

    Danke schon mal im Voraus.

    MfG

    Mator
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Was hast du denn schon ausprobiert, dass es nicht geht? Ansonsten hätte ich selber das so geschrieben:
    public List<ToolStripMenuItem> GetToolStripMenuItems(StringCollection titles) {
        List<ToolStripMenuItem> list = new List<ToolStripMenuItem>();
    
        foreach (string title in titles) {
            ToolStripMenuItem item = new ToolStripMenuItem(title);
            item.Click += delegate(object sender, EventArgs e) {
                // Todo: Click event
            };
            list.Add(item);
        }
    
        return list;
    }
    Du kannst dann in einer weiteren `foreach` Schleife die `List<ToolStripMenuItem>` durchgehen und alle Elemente deiner `MenuStrip.Items` hinzufügen.

    Ryan
  4. Autor dieses Themas

    m**********n

    Ah danke, hatte es schon gelöst, aber viel komplizierter (will ich hier nicht beschreiben). Das man eine List so initialisieren kann war mir völlig unbekannt. Werde es gleich ausprobieren.
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!