Laden...

[erledigt] ToolStripMenuItem Submenü ohne Icon?

Erstellt von *neo* vor 9 Jahren Letzter Beitrag vor 9 Jahren 2.150 Views
*
*neo* Themenstarter:in
299 Beiträge seit 2006
vor 9 Jahren
[erledigt] ToolStripMenuItem Submenü ohne Icon?

Hallo zusammen,

ich habe ein Menü in folgender Form


Speichern
Speichern unter ...
Importieren         | CSV
                    | TXT

Die Pipe | steht für ein Untermenü.

Das Problem ist folgendes. Dem Menüpunkt Importieren, habe ich ein Image als Menüicon hinzugefügt. Dieses wird auch angezeigt. Bei den Untermenüpunkten CSV und TXT habe ich auch jeweils ein Icon hinterlegt, welches NICHT angezeigt wird.

Grüße und danke

49.485 Beiträge seit 2005
vor 9 Jahren

Hallo neo,

eigentlich sollte es klappen. Zeig mal den Code, in dem die Zuordnung der Icons passiert. Und die Zuordnung der Untermenü-Punkte zum übergeordneten Menü.

Hast du mal probiert, zwei Icons zu vertauschen, also das des übergeordneten Menüs für das untergeordnete zu verwenden und andersherum. Vielleicht haben die Bilder/Icons ja das falsche Format oder werden nicht richtig geladen oder sind aus anderen gründen ungeeignet.

Wird im Submenü der Text der Items mit oder ohne ausreichend großem Abstand (für ein Icon) zum Linken Rand angezeigt?

herbivore

*
*neo* Themenstarter:in
299 Beiträge seit 2006
vor 9 Jahren

Hallo herbivore,

danke für die schnelle Antwort!

Anbei der Code:


this.importToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.importCSVToolStripMenuItem,
this.importTXTToolStripMenuItem,
this.importInitalCounterstatesToolStripMenuItem});
this.importToolStripMenuItem.Image = global::ProjektX.Properties.Resources.import;
this.importToolStripMenuItem.Name = "importToolStripMenuItem";
this.importToolStripMenuItem.Size = new System.Drawing.Size(235, 22);
this.importToolStripMenuItem.Text = "&Importieren";

this.importCSVToolStripMenuItem.Image = global::ProjektX.Properties.Resources.CSV;
this.importCSVToolStripMenuItem.Name = "importCSVToolStripMenuItem";
this.importCSVToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.importCSVToolStripMenuItem.Text = "CSV";
this.importCSVToolStripMenuItem.Click += new System.EventHandler(this.importCSVToolStripMenuItem_Click);

Die Icons habe ich auch schon zwischen Menü und Submenü getauscht. Funktionieren im direkten Menü super.

Anbei noch ein Bild von der Darstellung.

Danke und Grüße

49.485 Beiträge seit 2005
vor 9 Jahren

Hallo neo,

also bei mir geht es problemlos:

Image tmp = new Bitmap ("tmp.ico");

MainMenuStrip = new MenuStrip();
MainMenuStrip.Dock = DockStyle.Top;
Controls.Add (MainMenuStrip);

var mainMenu = new ToolStripMenuItem  ();
mainMenu.Text = "Main";
mainMenu.Image = tmp;

MainMenuStrip.MdiWindowListItem = mainMenu;
MainMenuStrip.Items.Add (mainMenu);

var subMenu = new ToolStripMenuItem();
subMenu.Text = "Sub";
subMenu.Image = tmp;
mainMenu.DropDownItems.Add (subMenu);

var subSubMenu = new ToolStripMenuItem();
subSubMenu.Text = "SubSub";
subSubMenu.Image = tmp;
subMenu.DropDownItems.Add (subSubMenu);

Bei dir sieht es so aus, als wäre im subSubMenu gar kein Platz für die Anzeige der Icons vorhanden. Hast du mal explizit folgendes gesetzt:

subSubMenu.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText;

herbivore

*
*neo* Themenstarter:in
299 Beiträge seit 2006
vor 9 Jahren

Hallo herbivore,

ja, genau, es ist gar kein Platz da um es darzustellen.

subSubMenu.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText;

hat leider auch keien Abwechselung gebracht.

Ist ihrgend wie komisch. Ich verzuche jetzt mal noch ein neue Projekt zu erstellen und das ganze dynamisch zu generieren.

Grüße

*
*neo* Themenstarter:in
299 Beiträge seit 2006
vor 9 Jahren

Hallo,

ich bin so blöd!

Ich habe das Projekt übernommen von einem Kollegen der weg ist. Jetzt beim nachstellen einer neuen Menüleiste habe ich gemerkt das es geht und mich gefragt was da schief läuft. Im Quelltext habe ich dann folgendes gefunden:

((ToolStripDropDownMenu)importierenToolStripMenuItem.DropDown).ShowImageMargin = false;

Sorry, das hätte ich sehen müssen! Schande über mein Haupt! Wie war das mit dem Wald 😃

Grüße