MDI Window-Liste: nach Schließen des letzten MDI-Fensters bleibt Trennbalken sichtbar

27/02/2010 - 21:19 von Alberto Luca | Report spam
Hallo NewsGroup,

in einem MDI zeige ich im Menu Window auch alle MDI-Childs an.
Dies geschieht automatisch.
Diese MDI Window-Liste ist erst sichtbar, wenn ein MDI-Child existiert.
Nachdem das 1. MDI-Child existiert, wird ein Menu-Trennbalken und darunter
die MDI-Childs angezeigt.
Nach dem Schließen des letzten MDI-Child ist die Window-Liste leer, jedoch
leider der Menu-Trennbalken noch sichtbar.

Wie kann ich diesen Menu-Trennbalken wieder entfernen?

Besten Dank vorab!
Ciao, Alberto
 

Lesen sie die antworten

#1 Konrad Neitzel
27/02/2010 - 23:19 | Warnen spam
Hallo Alberto!

"Alberto Luca" wrote in message
news:#HB0Zo#

in einem MDI zeige ich im Menu Window auch alle MDI-Childs an.
Dies geschieht automatisch.
Diese MDI Window-Liste ist erst sichtbar, wenn ein MDI-Child
existiert.
Nachdem das 1. MDI-Child existiert, wird ein Menu-Trennbalken und
darunter die MDI-Childs angezeigt.
Nach dem Schließen des letzten MDI-Child ist die Window-Liste leer,
jedoch leider der Menu-Trennbalken noch sichtbar.

Wie kann ich diesen Menu-Trennbalken wieder entfernen?



Was genau machst Du? Ich habe bei meinen Windows Forms Anwendungen mir
den Seperator selbst gemerkt und konnte diesen dann auch wieder
entfernen.
Also sowas wie:
ToolStripSeparator separator = new ToolStripSeparator();

Hinzufügen dann per
Menu.Items.Add(seperator);
bzw.
MenuItem.DropDownItems.Add(seperator);

(Ersteres wàre halt ein Seperator im MenuStrip und zweites ein Seperator
im ToolStripMenuItem)

Entfernen dann über:
Menu.Items.Remove(seperator);
MenuItem.DropDownItems.Remove(seperator);

Eine weitere Möglichkeit (die evtl. sauberer ist) könnte sein:
Die ToolStripMenuItem haben auch ein Key und wenn der Text ein - ist,
dann ist es ein Seperator.
Und die ToolStripItemCollection (Die steckt hinter Items bzw.
DropDownItems) hat eine Funktion RemoveByKey(string key).
(Das habe ich aber zumindest damals nicht gesehen bzw. verwendet wenn
ich mich nicht irre.)

Wobei ich schon lange nichts mehr so mit Windows Forms gemacht habe.
Daher hoffe ich, dass ich mich nun richtig erinnert habe und keinen
Unsinn erzàhlt habe.

Mit den besten Grüßen,

Konrad

Ähnliche fragen