"minimieren" Event



  • Ich möchte gerne eine Methode aufrufen, sobald man auf das "minimieren" Symbol eines Fensters klickt.
    Ein direktes Event hierfür gibt es wohl nicht, außer man fängt das "SizeChanged"-Event ab.
    Aber das wird dummerweise auch ausgelöst, sobald man die Größe ändert oder wenn man auf "maximieren" klickt.

    Fällt euch eine Möglichkeit ein, wie man dieses Ereigniss abfangen kann?



  • Mit WindowState abfragen?

    Ich bin mir nicht sicher welche Ereignisse auch noch beim Minimieren ausgeführt werden und seltener sind als SizeChanged - Vielleicht Deactivate ... bin mir aber nicht sicher



  • hi,
    ist es nicht?

    if (System::Windows::Forms::Form::MinimizeBox == true={
    

    nur so aus dem bauch.



  • @foxviper: Dein Event wir immer ausgelöst.
    Vielleicht so...

    if(this->WindowState == FormWindowState::Minimized)
    {
    	MessageBox::Show("Minimized");
    }
    else if(this->WindowState == FormWindowState::Maximized)
    {
    	MessageBox::Show("Maximized");
    }
    else
    {
    	MessageBox::Show("Normal");
    }
    


  • Event wird immer ausgelöst?

    Das mit WindowState ist klar, mit dem kann ich den momentanen Status der Form abfragen bzw.setzen.
    Aber wann kann ich diese Überprüfung durchführen?
    Wann das SizeChanged-Ereigniss ausgelöst wird?



  • foxviper schrieb:

    hi,
    ist es nicht?

    if (System::Windows::Forms::Form::MinimizeBox == true={
    

    nur so aus dem bauch.

    Nein, das gibt nur an ob der Button angezeigt werden darf.

    Culan schrieb:

    Event wird immer ausgelöst?

    Das mit WindowState ist klar, mit dem kann ich den momentanen Status der Form abfragen bzw.setzen.
    Aber wann kann ich diese Überprüfung durchführen?
    Wann das SizeChanged-Ereigniss ausgelöst wird?

    Hast du es schon mit dem Deactivate-Event probliert?



  • Hab ich noch nicht, danke für den Tipp, werde mich gleich mal dran versuchen...


Anmelden zum Antworten