Problem z ukrywaniem aplikacji do traya.

0

Witam, w prostym programiku, który pisze, przydałaby się opcja ukrywania aplikacji do traya. Mam 2 sposoby na zrobienie tego:

        private void Form1_Resize(object sender, EventArgs e)
        {
            if (WindowState == FormWindowState.Minimized)
            {
                this.Hide();
            }
        } 

lub

       private void Form1_Resize(object sender, EventArgs e)
        {
            if (WindowState == FormWindowState.Minimized)
            {
                this.SendToBack();
                this.ShowInTaskbar = false;
                notifyIcon.Visible = true;
                notifyIcon.BalloonTipText = "Click icon to get program back";
                notifyIcon.Text = "Click icon to get program back";
                notifyIcon.ShowBalloonTip(2000);
            }
        }

I tu pojawiają się problemy, pierwszy sposób z tego co widzę, zatrzymuje tak jakby wątek; timery nie działają dopóki nie zostanie zainicjowane this.Show(). W drugim sposobie natomiast globalny hook(winapi - registerhotkey), przestaje działać po zminimalizowaniu, a nawet po przywróceniu formy. Czy ktoś może mi podpowiedzieć jak zrobić to poprawnie ?

0

Witam,

umieść na swoim formularzu notifyIcon i dodaj następujące dwie metody:

 
        private void Form1_Resize(object sender, EventArgs e)
        {
            if (FormWindowState.Minimized == WindowState)
                Hide();

        }

        private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            Show();
            WindowState = FormWindowState.Normal;

        }

Mam nadzieję, że o to chodziło.
Pozdrawiam,
J.

1 użytkowników online, w tym zalogowanych: 0, gości: 1