Guten Morgen allerseits
Ich habe ein Fenster mit
Nachdem das Fenster mit einem Klick auf den entsprechenden Button in die Taskleiste minimiert wurde, soll es bei einem Klick auf dessen Icon in der Taskleiste wieder in den Zustand direkt vor dem Minimieren gebracht werden.
Das klappt auch ganz gut, wenn das Fenster vor dem Minimieren im
Spoiler anzeigen
Sieht jemand was ich falsch mache?
Ich habe ein Fenster mit
WindowStyle = None
und WindowState = WindowState.Maximized
(im Originalzustand). Dazu habe ich mir eine eigene Titelleiste gebastelt. Mit einem Doppelklick auf die Titelleiste soll der Vollbildmodus (also Taskleiste verdeckt) an und ausgeschaltet werden. Dann gibt es noch einen Button zum Minimieren in die Taskleiste und einen Button zum Wechseln zwischen WindowState = WindowState.Normal
und WindowState.Maximized
.Nachdem das Fenster mit einem Klick auf den entsprechenden Button in die Taskleiste minimiert wurde, soll es bei einem Klick auf dessen Icon in der Taskleiste wieder in den Zustand direkt vor dem Minimieren gebracht werden.
Das klappt auch ganz gut, wenn das Fenster vor dem Minimieren im
WindowState.Normal
war. Aber sobald es entweder Maximized oder im Vollbildmodus war, wird nach dem Klick in der Taskleiste, das Fenster erst ganz kurz maximiert und dann aber wieder in den Zustand .Normal
gebracht, was ich so nicht will. Hier mein Code:VB.NET-Quellcode
- Private FensterStatus As WindowState
- Private IstVollBild As Boolean = False
- Private Sub brdMinimieren_MouseLeftButtonDown(sender As Object, e As MouseButtonEventArgs)
- FensterStatus = Me.WindowState
- Me.WindowState = WindowState.Minimized
- End Sub
- Private Sub brdVerkleinernVergroessern_MouseLeftButtonDown(sender As Object, e As MouseButtonEventArgs)
- If Me.WindowState = WindowState.Normal Then
- If IstVollBild Then
- Me.WindowState = WindowState.Normal
- Me.WindowState = WindowState.Maximized
- Else
- Me.WindowStyle = Windows.WindowStyle.SingleBorderWindow
- Me.WindowState = WindowState.Maximized
- Me.WindowStyle = Windows.WindowStyle.None
- End If
- Else
- Me.WindowState = WindowState.Normal
- End If
- End Sub
- Private Sub Window_Activated(sender As Object, e As EventArgs)
- If Not FensterStatus = WindowState.Normal Then
- If IstVollBild Then
- Me.WindowState = WindowState.Normal
- Me.WindowState = WindowState.Maximized
- Else
- Me.WindowStyle = Windows.WindowStyle.SingleBorderWindow
- Me.WindowState = WindowState.Maximized
- Me.WindowStyle = Windows.WindowStyle.None
- End If
- Else
- Me.WindowState = WindowState.Normal
- End If
- End Sub
Sieht jemand was ich falsch mache?