Laden...

[erledigt] Applikation stürzt bei Hide() ab

Erstellt von frankey vor 12 Jahren Letzter Beitrag vor 12 Jahren 677 Views
F
frankey Themenstarter:in
14 Beiträge seit 2010
vor 12 Jahren
[erledigt] Applikation stürzt bei Hide() ab

Hi,

Ein etwas seltsames Problem:
Ich habe in eine kleine Windows Forms Application mit einem NotifyIcon und Systemtray Funktionen ausgestattet, welches mir die Applikation in der Systemtray anzeigt... soweit so gut.

(Event: Form Resize -> hideWindow())


        /// <summary>
        /// Bringt das verbergte Fenster zum Vordergrund
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void showWindow(object sender, MouseEventArgs e)
        {
            this.Show();
            this.WindowState = FormWindowState.Normal;
            this.ShowInTaskbar = true;
        }

        /// <summary>
        /// Verbrirgt das Fenster und übergibt es der Systemtray
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void hideWindow(object sender, EventArgs e)
        {
            if (FormWindowState.Minimized == WindowState)
            {
                this.Hide();
            }
        }


Das funktioniert soweit auch. Sobald ich allerdings das Fenster minimiere schliesst sich die Applikation von selbst. Um das ganze zu Debuggen habe ich einen FormClosing Eventhandler eingebaut welcher mir die Close Reason anzeigt, Resultat: None.

In der selben FormClosing Eventhandler Methode versuche ich mittels e.Cancel = true; das Event abzubrechen, ohne Wirkung. Wenn ich this.Hide() in einen try - catch Block einbaue erhalte ich auch kein Resultat.

Wie finde ich heraus warum sich die Applikation beim Hide() Event selber schliesst?

// Edit:
Hat irgendwas damit zu tun dass die Application als Singleton gestartet wird... ohne Singleton tuts

109 Beiträge seit 2010
vor 12 Jahren

Hy Frankey,

  1. kann es sein, dass du irgendwo this.close() aufrufts, wenn ja wo genau?

  2. Anstatt Form Resize -> hideWindow() würde ich eher SizeChanged -> hideWindow() benutzen.

Warum wird die App als Singelton gestartet? Was willst du damit bezwecken?

Normalerweise gehört dies zum schlechten Programmierstiel.

mfg Seraph

Ich beschütze das was am Wichtigsten ist!

F
frankey Themenstarter:in
14 Beiträge seit 2010
vor 12 Jahren

Hi Seraph,

Danke für deine Antwort. Debugging hat leider weiterhin nichts gebracht, ich konnte den Fehler nicht erruieren. Allerdings habe ich mich jetzt einfach dazu entschieden den Singleton Teil wegzulassen womit sich das Problem erledigt hat, grundsätzlich lass ich auch lieber Singletons weg 😃