Entwickler-Ecke

WinForms - Mein Programm minimiert nicht, bei klick auf TaskleistenIcon


lialynn - Do 22.09.11 10:41
Titel: Mein Programm minimiert nicht, bei klick auf TaskleistenIcon
Hi Leute,
ich habe ein kleines Programm geschrieben.
Da ich das Design etwas speziell haben wollte habe ich den FormBorderStyle auf None gestellt.
Wenn jetzt mein Programm läuft und ich klicke auf das Icon in der Taskleiste (das normale Icon NICHT das NotifyIcon), dann minimiert sich das WinForm nicht.
Kann ich das entsprechende Event abfangen?
Oder habe ich einfach nur etwas falsch eingestellt?
Danke für Eure Hilfe.


Ralf Jansen - Do 22.09.11 11:10

In deiner Form CreateParams überschrieben und der Form den WS_MINIMIZEBOX Style wieder verpassen müsste helfen.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
protected override CreateParams CreateParams
{
    get
    {
        CreateParams cp = base.CreateParams;
        cp.Style |= 0x20000//WS_MINIMIZEBOX                
        return cp;
    }
}


lialynn - Do 22.09.11 11:21

Wow, danke!
Das ging ja super schnell und hat funktioniert.
Jetzt fragte ich mich nur, woher weisst Du sowas?


Ralf Jansen - Do 22.09.11 11:38

Von Wissen kann da im eigentlichen Sinn nicht wirklich die Rede sein. Aus Erfahrung weiß man an üblicherweise an welchen Schräubchen zu drehen ist und kann sich dann den Rest schnell zusammensuchen. Hier konkret habe ich mit den Stichworten FormBorderStyle, CreateParams und MinimizeBox google bemüht, passenden Code gefunden, kurz von unnötigem Ballast befreit und dann hier präsentiert.