Form close -> UseWaitCursor wird übersprungen
-
Hi,
da das schließen meines Fenster etwas dauert, möchte ich dies mittels UseWaitCursor signalisieren. Jedoch wird diese Funtkion einfach übersprungen.
Ändere ich die Hintergrundfarbe des Schließen-Buttons, funktioniert dies auch nicht.
Lasse ich aber direkt hinter den beiden Zuweisungen eine MessageBox aufpoppen, wird zumindest der Button grün.Woran kann das liegen, das diese beiden Funktionen einfach übersprungen werden?
Hier mein Code für das Schließen des Fensters:
private: System::Void Schließen_Click(System::Object^ sender, System::EventArgs^ e) { Schließen->BackColor::set(System::Drawing::Color::GreenYellow); this->UseWaitCursor::set(true); MessageBox::Show("Programm wird geschlossen.","", MessageBoxButtons::OK,MessageBoxIcon::Information); this->Close(); }
-
MessgeBox blockiert - da is nix mit UI zeichnen
-
Aha wieder was gelernt^^ thx
Kann man das auch ohne Messagebox lösen?
-
private: System::Void Schließen_Click(System::Object^ sender, System::EventArgs^ e) { Schließen->BackColor::set(System::Drawing::Color::GreenYellow); this->UseWaitCursor::set(true); this->Close(); }
*scnr*
-
Genau das funktioniert nicht.
Darum geht es ja. Diese das grün und der Wait-Cursor werden nicht gesetzt bzw. einfach übersprungen.Füge ich die Messagebox ein wechselt immerhin der Button die Farbe. Aber der Wait-Cursor wird auch nicht gesetzt.
-
1. Frage: Wie lange braucht die Form um geschlossen zu werden?
2. Frage: Wo hast Du den Mauszeiger stehen?Nach Deinem Code muss er auf der Form stehen um sich zu verändern, nicht außerhalb der Form...
-
Das Form braucht ca. 5-9 Sekunden die einem wie eine Ewigkeit vorkommen, wenn man es mal eben schließen will.
Der Mauszeiger steht in dieser Zeit auf dem Form das geschlossen werden soll. Ich verwende auch nur ein Form.
Aber wie gesagt nicht nur das der Wait-Cursor nicht kommt. Der Button wird(ohne Messagebox) auch nicht grün.