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 ?