Hallo,
Problematik:
es besteht ein Hauptfenster (0) mit einigen Einstellungen und von diesem wurden grundsätzlich alle spezifischen Fenster (1) abgeleitet. Nun wurde von dem spezifischen Fenster noch ein Fenster (2) abgeleitet und hier lässt sich einfach der Menustrip nicht um einen weiteren Menueintrag erweitern, wenn ich den selben Code in das Fenster (1) einfüge, dann wird mein Menüeintrag erstellt. Grundsätzlich hatte ich bis jetzt keine Probleme mit dem MenuStrip usw. auch dynamisch erstellte wurden korrekt implementiert. Noch eins ich versuche im Fenster (2) per:
this.Ms.Items.AddRange(new ToolStripItem[] { tmnuEintrag });
den MenuStrip zu erweitern. Ms ist in dem Fall eine Property die den MenuStrip darstellt, wie schon erwähnt im Fenster (1) funktioniert das auch über die Property selbst.
Hintergrund:
Habe alle Menüs meiner Anwendungen umstellen müssen von MainMenu auf MenuStrip. Wenn jetzt aber diese dynamischen Anpassungen, die ja von Projekt zu Projekt verschieden sein können, nicht funktionieren, dann ist eine Umstellung total umsonst....
Habt ihr eine Idee?
:::
Hallo,
ist denn im Debugger-Watch der Menüeintrag (nach der Code-Zeile) vorhanden und er wird nur nicht dargestellt?
Und wo steht der Code? Im Konstruktor?
Beim Debuggen wird der Eintrag zum menustrip hinzugefügt, also alles io. Er wird "nur" nicht angezeigt.
Das Hinzufügen passiert nach InitializeComponents, hab es aber auch schon an anderer Stelle versucht, das Gleiche...
:::
That's really strange...
Und wenn du diese Form direkt von deinem "Hauptfenster" ableitest, dann wird es angezeigt?
Ja, ich habe einfach im Fenster (1) alles so codiert, dass es funktioniert und diesen Code ins Fenster (2) kopiert und schon wird der Menüeintrag nicht mehr angezeigt. Kann mir einfach keinen Reim drauf machen 😦
Mehr als:
this.Ms.Items.AddRange(new ToolStripItem[] { tmnuÉintrag });
tmnuEintrag.MergeIndex = 2;
tmnuEintrag.MergeAction = MergeAction.Replace; //MergeAction.MachOnly geht auch nicht
tmnuEintrag.Text = "&Test";
ist es ja eben nicht, sodass ich auch einfach nicht weiter weiß, wie und was das Problem sein soll.
:::
Hab jetzt noch mal etwas recherchiert, aber man findet diesbezüglich nichts, außer, dass im Designer vermehrt Probleme mit Controls in vererbten Fenstern auftreten können, aber der Designer hat doch in diesem Fall gar nichts damit zutun. Ich habe die InitializeComponents total außen vor gelassen, was ja bis jetzt auch funktioniert hat...
:::
Wo erzeugst du denn 'tmnuEintrag'?
Hallo diana,
mach mal ein minimales Beispiel (am besten ganz ohne Designer), nur die Basisklasse mit einem Menüeintrag und das abgeleitet Form mit einem zusätzlichen Eintrag. Geht es dann? Wenn ja, siehe [Tutorial] Vertrackte Fehler durch Vergleich von echtem Projekt mit minimalem Testprojekt finden. Wenn nein, poste den Quellcode mal hier. Dürften ja nicht mehr als ca. 50 Zeilen sein.
herbivore
Habe mir ein Testprojekt gestrickt und zweimal abgeleitet und Code reinkopiert, funktioniert 😦 Normalerweise versuche ich das mit dem kleinen Testprojekt auch immer mal, nur hier habe ich den Wald vor lauter Bäumen nicht mehr gesehen und da der Code in mehreren anderen Fenstern funktioniert hat, konnte für mich hier nur ein Bug oder eine falsche Programmierung Schuld sein. So da werd ich mir das ganze mal zu Gemüte führen und nacheinander auskommentieren... 😦((
:::