Entwickler-Ecke

WinForms - Menü dynamisch erstellen


wulfskin - Mi 10.09.08 13:46
Titel: Menü dynamisch erstellen
Hallo,

ich möchte prinzipiell nur ein Menü zur Laufzeit erstellen. Mit der (veralteten) Klasse MenuItem klappt das wunderbar, da ich dort über die Eigenschaft MenuItems zugreifen kann um eine Verzeigung zu erreichen.

Doch wie geht das ganze mit der neuen Klasse ToolStripMenuItem? Wie kann ich dort Verzweigungen erstellen und anschließend der eigentlichen Komponente ContextMenuStrip zuweisen?

Vielen Dank,
Hape


Christian S. - Mi 10.09.08 13:58

Hallo!

So sollte es gehen:

Delphi-Prism-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
  var tsmi := new ToolStripMenuItem('Ebene 1');

  tsmi.DropDownItems.Add(new ToolStripMenuItem('Ebene 1.1'));
  tsmi.DropDownItems.Add(new ToolStripMenuItem('Ebene 1.2'));

  var cms := new ContextMenuStrip;
  cms.Items.Add(tsmi);

  button1.ContextMenuStrip := cms;


Grüße
Christian


Peter Enz - Mi 10.09.08 14:05
Titel: Re: Menü dynamisch erstellen
Hape,

Als Zusatz zu Christains Antwort: Ich nehme bei solchen Fragen den visuellen Designer in VS, bastel mir dort zum Beispiel ein Menü zusammen und schaue dann welchen Code VS erzeugt. Damit hat man schonmal einen Anfang.

Gruß
Peter


wulfskin - Mi 10.09.08 14:09

Hallo Christian,

ich danke dir recht herzlich. Ich hab bei dem Begriff DropDownItems bildlich an DropDown gedacht.

@Peter Enz: Du hast absolut recht. Ich vergesse immer das Visual Studio das im Quelltext anlegt, anders als Delphi.

Vielen Dank für eure schnelle Hilfe,
Hans-Peter