2012-03-06 14 views
8

Ho un pulsante di uscita su una winform che voglio utilizzare per chiudere il programma. Ho aggiunto il nome del pulsante alla proprietà FormClosed trovata nella sezione eventi delle proprietà winforms. Ho pensato che fosse tutto ciò che dovevo fare ma quando clicco sul pulsante non si chiude. Ho guardato il codice e mentre viene creato un gestore, non vi è alcun codice al suo interno. Non so se sia corretto o no. Ecco il codice che è stato creato nel file Form.cs:Utilizzo del pulsante Esci per chiudere un programma Winform

private void btnExitProgram_Click(object sender, EventArgs e) 
    { 

    } 

Cos'altro devo fare?

+1

"ho aggiunto il nome del pulsante alla proprietà FormClosed trovato nella sezione eventi delle proprietà WinForms." Non sei sicuro di cosa intendi con questo. – MusiGenesis

+0

Probabilmente ha letteralmente impostato la proprietà FormClosed nella finestra di progettazione sul nome del pulsante utilizzato per chiudere il modulo, anziché utilizzare un evento. (Questo è quello che penso) – Abbas

risposta

27
this.Close(); 

Chiude il modulo a livello di programmazione.

+2

Se lo scrivi con maiuscola 'C' ..: D – Abbas

+1

Lol duh! Grazie! – bschultz

+0

Grazie per il vostro aiuto –

1

mettere questo po 'di codice nel caso del pulsante:

this.Close(); 
+0

Grazie per il vostro aiuto –

1

Prova questa:

private void btnExitProgram_Click(object sender, EventArgs e) { 
    this.Close(); 
} 
+0

Grazie per il vostro aiuto –

4

Il FormClosed Event è un evento che viene generato quando il form si chiude. Non è utilizzato per chiudere effettivamente il modulo. Dovrai rimuovere tutto ciò che hai aggiunto lì.

Tutto si dovrebbe avere a che fare è aggiungere la seguente riga al gestore di eventi del pulsante:

this.Close(); 
+0

Ho rimosso le informazioni che avevo in quell'evento e aggiunto il codice al gestore di eventi del pulsante.Grazie per il vostro aiuto –

9

Rimuovere il metodo, ho il sospetto che potrebbe anche essere necessario rimuoverlo dal Form.Designer.

Altrimenti: Application.Exit();

dovrebbe funzionare.

Ecco perché il progettista fa male a te. :)

+1

Lo svantaggio è che uscirete dall'intera applicazione e non solo dal modulo specificato ... :) – Abbas

0

In Visual Studio 2015, aggiunto ad un menu File -> Esci e in quel gestore mettere:

this.Close(); 

ma l'IDE ha detto 'questo' non era necessario. Utilizzato il suggerimento IDE con solo Close(); e ha funzionato.

0

Se si desidera solo chiudere il modulo, è possibile utilizzare this.Close(); altrimenti se vuoi che l'intera applicazione sia chiusa usa Application.Exit();

1

Possiamo chiudere tutte le finestre usando Application.Exit(); Utilizzando questo metodo possiamo anche chiudere le finestre nascoste.

private void btnExitProgram_Click(object sender, EventArgs e) { Application.Exit(); }

Problemi correlati