Feedback

C# - Workaround für den MDIChild-Icon Bug

Veröffentlicht von am 21.01.2009
(3 Bewertungen)
Wenn man mit MDI-Fenstern arbeitet wird einem früher oder später auffallen, dass bei einem von vorneherein maximiertem MDI-Child das Icon nicht richtig in der Menüleiste angezeigt wird. Erst wenn man das Hauptfenster resized wird das Default-Icon gegen das richtige Icon ausgetauscht.
Dieser kleine Workaround behebt das Problem.
Im _MdiChildActivate Ereigniss der MDI-Parentform kann man einfach folgenden Codezeilen einfügen…

Wobei
mainMenu1 der Name des MenuStrip ist
und
mynamespace.Properties.Resources.defaultIcon
ein beliebiges default Icon als Resource

GFU-Schulungen  [Anzeige]

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

if (mainMenu1.Items[0].GetType().Name == "SystemMenuItem")
{
	if(ActiveMdiChild != null) 
	{
		mainMenu1.SuspendLayout();
		if (ActiveMdiChild.Icon != null)
		{
			int i = mainMenu1.Height; //Damit bei zu großem Icon die Menüleiste "schön" bleibt
			mainMenu1.Items[0].Image = ActiveMdiChild.Icon.ToBitmap();
			mainMenu1.Height = i;
		}
		else
		{
		        mainMenu1.Items[0].Image = mynamespace.Resources.defaultIcon.ToBitmap();
		}
		mainMenu1.ResumeLayout();
	}
}
Abgelegt unter MDI, MDIChild, Icon, Bug, MdiChildActivate.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!