Toon posts:

[C#] Hide() sluit heel applicatie, niet enkel window

Pagina: 1
Acties:
  • 368 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hallo Tweakers,

Ik ben in C# een applicatie aan het schrijven, wat moet "Hiden" zodra ik op het kruisje druk. Echter zodra ik het window dus wil sluiten, stopt meteen heel mijn applicatie.

C#:
1
2
3
4
5
6
7
8
9
10
    protected override void OnClosing(CancelEventArgs e)
    {

        // Hide window
        e.Cancel = true;
        this.WindowState = FormWindowState.Minimized;

        this.Hide();

    }


Zonder de Hide() functie wordt hij wel Minimized en blijft de .exe runnen, maar dan laat hij zichzelf nog wel zien linksonderin het scherm... Wat ik dus niet wil hebben.

Ik heb this.Visable = false; geprobeert, maar dit doet hetzelfde als de Hide(); functie.

Ik ben er nu een tijdje mee bezig, maar ik word er niet wijzer uit. :S

Hier me volledige code:

zowiezo is het niet nodig om hier meer dan 200 lijnen irrelevante code te gaan posten. Komt anders wel een beetje over als 'debug m'n code ff', niet ?

Ziet iemand het probleem?

Alvast bedankt!

Jim aka ZktaS

[ Voor 83% gewijzigd door whoami op 03-06-2007 17:42 ]


  • Doctor M.
  • Registratie: September 2004
  • Laatst online: 17:09
Ik denk dat je nog even een base.OnClosing(e) in je OnClosing methode moet aanroepen (aan het einde van je methode). Hiervoor zorg je dat de Cancel = true weldegelijk door het systeem wordt afgehandeld.

Zelf heb ik ook iets dergelijks geschreven waarbij ik de OnClosing event van het Form heb gebruikt.

code:
1
2
3
4
5
6
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            // Hide window and cancel closing
            e.Cancel = true;
            this.Hide();    
        }

Verwijderd

Topicstarter
Bedankt voor de snelle reactie, echter helpt het helaas niet. :(

Zou het er mischien mee te maken kunnen hebben dat ik maar 1 thread heb?

  • Doctor M.
  • Registratie: September 2004
  • Laatst online: 17:09
In je main methode start je je window met ShowDialog(). Ik Heb het net geprobeerd en dat sluit inderdaad je applicatie indien je deze Hide(). Gebruik Application.Run(new Window()).

Verwijderd

Topicstarter
Het werkt perfect! Echt hardstikke bedankt! _/-\o_

Nu kan ik weer door.. *O*