Prova detta.
if(WindowState == FormWindowState.Minimized) WindowState = FormWindowState.Normal;
Show();
Activate();
Det verkar fungera för mig.
4 svar · 244 visningar · startad av Mc Fetto
Hej, jag har en NotifyIcon som jag har kopplat ett event till för dubbelklick. Det som ska hända när man dubbelklickar är att huvudformen ska bli synlig. Detta fungerar fint första gången, men inte flera gånger när man minimerat formen. Dubbelklickseventet ser ut:
WindowState = FormWindowState.Normal;
När jag kör igång applikationen så sätter jag i konstruktorn till formen följande kod för att inte visa formen från början:
WindowState = FormWindowState.Minimized;
Formen är även satt till att inte visas i TaskBar.
Är det ngt speciellt event som sker när man klickar på minimera på formen? Förstår inte alls vad som felar!
Prova detta.
if(WindowState == FormWindowState.Minimized) WindowState = FormWindowState.Normal;
Show();
Activate();
Det verkar fungera för mig.
Lite bättre blev det allt :)
Nu blir det såhär:
http://www.webforum.nu/attachment.php?s=&postid=888463
edit: gör jag såhär blir det bra:
Show();
Activate();
this.Width = 544;
this.Height = 320;
this.WindowState = FormWindowState.Normal;
Använder du min kod ska det inte bli så här. Att alltid ställa in bredd, höjd eller WindowState är inte bra eftersom det ändrar de inställningar som användaren har gjort.
Att fönstret fortfarande är minimerat när du ändrar WindowState till Normal är ju väldigt konstigt. Fönstret på bilden är minimerat utan knapp i aktivitetsfältet. Det är inte bra. Normalt ska bara kunna minimera fönster med knappar i aktivitetsfältet. Stäng därför av minimeringsfunktionen eller lägg till en knapp i aktivitetsfältet.
Vill du kunna dölja fönstret helt kan du använda Hide när användaren vill stänga fönstret på detta sätt:
private void MainForm_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
if(!CloseApp)
{
e.Cancel = true;
Hide();
}
}
För att avsluta programmet ändrar du CloseApp till True och anropar Close.
Jag har provat ditt första sätt, men det fungerar inte som beskrivits ovan. Om jag gör såhär fungerar det dock:
Show();
Activate();
this.WindowState = FormWindowState.Normal;
Ska titta på det andra tipset imorn! Tackar :)