vs2005: MenuStrip: wie Reihenfolge definieren/expanieren?

13/12/2008 - 12:01 von Alberto Luca | Report spam
Hallo NewsGroup,

ich möchte in einer Windows-App folgende Menüsteuerung implementieren.

Links Panel-Bereich (für MenuStrips).
in diesem Panel dann einige MenuStrips ("Allgemein", "Kunden",
"Lieferanten").
Jeder dieser MenuStrips hat dann wieder einige Untermenupunkte ("A1", "A2",
"A3"), etc.

Folgendes funktioniert nun nicht wie von mir gewünscht:
1) die Reihenfolge der MenuStrips (bei mir definiert sich die Reihenfolge,
abhàngig von dem Zeitpunkt der Definition; das zuletzt definierte Menustrip
steht oben)
2) wie kann ich erreichen, dass die MenuStrips immer aufgeklappt sind
3) wie kann ich erreichen, dass vor dem MenuStrip ein Symbol ist, wo
ersichtlich ist, ob aufgeklappt oder nicht ("+" oder "-")

Mein Vorbild für diese Menüsteuerung ist die Toolbox im VisualStudio.

Besten Dank vorab!
Ciao, Alberto
 

Lesen sie die antworten

#1 Elmar Boye
13/12/2008 - 16:13 | Warnen spam
Hallo Alberto,

"Alberto Luca" schrieb ...
ich möchte in einer Windows-App folgende Menüsteuerung implementieren.

Links Panel-Bereich (für MenuStrips).
in diesem Panel dann einige MenuStrips ("Allgemein", "Kunden", "Lieferanten").
Jeder dieser MenuStrips hat dann wieder einige Untermenupunkte ("A1", "A2", "A3"), etc.



Du solltest eher ToolStrips einsetzen.
Denn ein MenuStrip ist letztendlich ein spezialisiertes ToolStrip,
das die Funktionalitàt eines Windows-Menüs implementiert.
Und daraus ergibt sich ein Grundverhalten um den historisch
festgelegtem Verhalten eines Menüs gerecht zu werden.

Und Menüs haben in einem seitlichen Panel an sich nichts
verloren. Und auch Toolstrips sollten in einen
ToolStripContainer gepackt werden.

Folgendes funktioniert nun nicht wie von mir gewünscht:
1) die Reihenfolge der MenuStrips (bei mir definiert sich die Reihenfolge, abhàngig von dem Zeitpunkt der Definition; das zuletzt
definierte Menustrip steht oben)



Bei Menüs gilt: Es sollte immer nur eines zu gleicher Zeit sichtbar
sein. So wie es bei allen Programmen nur ein Menü gibt (und das
normalerweise oben).

2) wie kann ich erreichen, dass die MenuStrips immer aufgeklappt sind



Menüs reagieren immer erst auf Anwahl - sonst würden sie ja (in ihrer
vorgesehen Position) den Bildschirminhalt verdecken.
Aber auch Standard-Toolstrip Elemente verhalte sich im Prinzip so -
schon weil sie Office nachahmen sollten und dort sind sie nunmal
traditionell oben.

3) wie kann ich erreichen, dass vor dem MenuStrip ein Symbol ist, wo ersichtlich ist, ob aufgeklappt oder nicht ("+" oder "-")



Existiert dort ebenfalls nicht, eben weil man erst klappen muß.

Mein Vorbild für diese Menüsteuerung ist die Toolbox im VisualStudio.



Wenn Du das als Vorgabe implementieren willst, wird das weder mit
MenuStrip noch Toolstrip so richtig klappen.

Machbar (mit Einschrànkungen) ist ein entsprechend gestaltetes
TreeView (Linien ausblenden, + Zeichen für 2. jedoch belassen).

Aber schau Dich evtl. mal www.codeproject.com um, dort gibt
es verschiedene Variationen zum Thema.

Gruß Elmar

Ähnliche fragen