Rubrik: Oberfläche · Menüs | VB-Versionen: VB.NET | 13.02.08 |
![]() Anzeigen der Fenster-Icons der geöffneten Childfenster einer MDI-Anwendung im Window-Menü | ||
Autor: ![]() | Bewertung: ![]() ![]() ![]() ![]() ![]() | Views: 13.030 |
ohne Homepage | System: WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10 | kein Beispielprojekt |
Ich fand auf dem Link http://mscsammelsurium.blogspot.com/2006/07/c-winforms-mdi-window-list.html eine Lösung zu genannter Aufgabe und habe sie für VB.NET angepasst.
Wenn es in der MDI-Form ein Window-Menü gibt, wo alle geöffneten Child-Fenster angezeigt werden sollen (erzeugt mit: MenuStrip.MdiWindowListItem = WindowsMenu), dann realisiert im Ereignis WindowsMenu_DropDownOpening die folgende Prozedur, dass zusätzlich zum Fensternamen das Fenster-Icon angezeigt wird.
' Anzeigen der Window-Icons in der Fensterliste Private Sub WindowsMenu_DropDownOpening( _ ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles WindowsMenu.DropDownOpening ' WindowsMenu ist das MenuItem, welches die MDI-Liste anzeigt For Each menuItem As ToolStripItem In WindowsMenu.DropDownItems If (TypeOf menuItem Is ToolStripMenuItem) AndAlso _ (DirectCast(menuItem, ToolStripMenuItem).IsMdiWindowListEntry) Then menuItem.Image = TryCast(menuItem.[GetType]().GetProperty("MdiForm", _ Reflection.BindingFlags.GetProperty Or _ Reflection.BindingFlags.IgnoreCase Or _ Reflection.BindingFlags.Instance Or _ Reflection.BindingFlags.NonPublic) _ .GetValue(menuItem, Nothing), Form).Icon.ToBitmap() menuItem.ImageTransparentColor = Color.Aquamarine End If Next End Sub