<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>WinForms</title><link>https://www.dotnetzone.gr:443/cs/forums/12/ShowForum.aspx</link><description>Θέματα για rich client / windows εφαρμογές, σε οποιαδήποτε γλώσσα (VB.NET, C#, managed C++, κ.α.)</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Application.Exit()</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46412.aspx</link><pubDate>Sat, 22 Nov 2008 11:18:43 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46412</guid><dc:creator>teliaz</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46412.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=46412</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Παναγιώτης Καναβός:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Η λύση είναι πολύ απλή. Μήν καλείς την Application.Exit(). Αφού η φόρμα σου ήδη κλείνει, και εφόσον είναι η κύρια φόρμα της εφαρμογής, θα κλείσει και η εφαρμογή. Επίσης, αν επιστρέψεις true ή false δεν παίζει κανένα, μα κανένα απολύτως ρόλο. 'Ετσι κι αλλιώς η OnFormClosing δεν έχει return type. Αν θέλεις να ακυρώσεις το κλείσιμο θα πρέπει να θέσεις το e.Cancel=false όπου το e είναι το event argument που δέχεται η OnFormClosing. Έτσι θα απαλλαγείς και από το try/catch και ο κώδικας σου θα γίνει απλά &lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:transparent;font-family:Courier New;color:black;font-size:11px;font-weight:normal;"&gt;DialogResult dr &lt;span style="background-color:transparent;font-family:Courier New;color:red;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; MessageBox.Show(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Έξοδος από την εφαρμογή;"&lt;/span&gt;, &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Επιβεβαίωση"&lt;/span&gt;, MessageBoxButtons.YesNo, MessageBoxIcon.Question);&lt;br&gt;e.Cancel &lt;span style="background-color:transparent;font-family:Courier New;color:red;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; (dr == DialogResult.Yes);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Αντί να πειραματίζεσαι για το πως νομίζεις ότι δουλεύουν οι διάφορες μέθοδοι και events καλύτερα να κοιτάξεις το documentation των μεθόδων. Απλά πάς επάνω στο OnFormClosing και πατάς F1.&lt;/p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;&lt;span style="background-color:transparent;font-family:Courier New;color:black;font-size:11px;font-weight:normal;"&gt;DialogResult dr &lt;span style="background-color:transparent;font-family:Courier New;color:red;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; MessageBox.Show(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Έξοδος από την εφαρμογή;"&lt;/span&gt;, &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Επιβεβαίωση"&lt;/span&gt;, MessageBoxButtons.YesNo, MessageBoxIcon.Question);&lt;br&gt;e.Cancel &lt;span style="background-color:transparent;font-family:Courier New;color:red;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; (dr == DialogResult.&lt;b&gt;&lt;font color="#ff0000"&gt;No&lt;/font&gt;&lt;/b&gt;);&lt;/span&gt;&lt;/p&gt;
Μάλλον αυτό εννοείς... &lt;br&gt;</description></item><item><title>Απ: Application.Exit()</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45585.aspx</link><pubDate>Mon, 20 Oct 2008 02:05:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45585</guid><dc:creator>Τάσκος Γιώργος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45585.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=45585</wfw:commentRss><description>&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; MainForm_FormClosing(&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;object&lt;/span&gt; sender, FormClosingEventArgs e)&lt;br&gt;        {&lt;br&gt;            TerminateApp(e);&lt;br&gt;        }&lt;br&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; TerminateApp(FormClosingEventArgs e)&lt;br&gt;        {&lt;br&gt;            DialogResult button &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; MessageBox.Show(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Είσται σίγουροι?\nΜη αποθηκευμένα "&lt;/span&gt; &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt;&lt;br&gt;                &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"στοιχεία\nθα χαθούν κατά την έξοδο."&lt;/span&gt;, &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Ειδοποίηση"&lt;/span&gt;,&lt;br&gt;                MessageBoxButtons.YesNo, MessageBoxIcon.Warning);&lt;br&gt;            e.Cancel &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; (button == DialogResult.No);&lt;br&gt;        }&lt;br&gt;&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; ExitToolStripMenu_Click(&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;br&gt;        {&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;this&lt;/span&gt;.Close();&lt;br&gt;        }&lt;/span&gt;&lt;br&gt;&lt;br&gt;Διαπίστωσα όμως ότι κλείνει η φόρμα αλλά δεν κλείνει το Thread...&lt;br&gt;Δηλαδή πρέπει μετά να πατήσω και το Stop του Visual Studio...&lt;br&gt;&lt;br&gt;Ποιο είναι το λάθος? πρέπει να προσθέσουμε κάτι?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Application.Exit()</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45530.aspx</link><pubDate>Fri, 17 Oct 2008 18:59:26 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45530</guid><dc:creator>Bill </dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45530.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=45530</wfw:commentRss><description>Καλόοο. Θα το δοκιμάσω έτσι!Ευχαριστώ&lt;br&gt;</description></item><item><title>Απ: Application.Exit()</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45526.aspx</link><pubDate>Fri, 17 Oct 2008 17:59:31 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45526</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45526.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=45526</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;gkaz&lt;/STRONG&gt; Ουπς! Το έγραψα ανάποδα! Αυτά παθαίνεις όταν πας να το παίξεις πολύ έξυπνος&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;ironbill &lt;/STRONG&gt;Πέρα από αυτό που είπε ο gkaz και είναι σωστό, είναι σχεδιαστικό λάθος να μπορείς να κάνεις το ίδιο πράγμα από πολλά διαφορετικά σημεία. Καταρχήν, είναι ένας σίγουρος τρόπος να χάσεις τη μπάλα. Μία μικρή αλλαγή να θέλεις να κάνεις (π.χ. έλεγχο ότι δεν υπάρχουν δεδομένα για σώσιμο) και θα πρέπει να ψάξεις να βρεις οπουδήποτε έχεις βάλει αυτό το application exit για να το αλλάξεις. Αντί να προσπαθείς να κλείσεις την εφαρμογή από 2 διαφορετικά σημεία, βάλε τον κώδικα σε 1 και μόνο σημείο στην κυρίως φόρμα, φτιάξε μία public μέθοδο π.χ. TerminateApplication και μέσα σε αυτή κλείσε τη φόρμα. Μετά, κάλεσε την TerminateApplication από τις άλλες φόρμες.&lt;/P&gt;
&lt;P&gt;Ακόμα καλύτερα, μπορείς να χρησιμοποιήσεις την TerminateApplication ως event handler για τα κουμπιά ή τα μενού που χρησιμοποιείς για το κλείσιμο, ακόμα και αν αλλού είναι το μενού και αλλού ο handler. Έτσι θα εκτελείται πάντα ο ίδιος κώδικας.&lt;/P&gt;
&lt;P&gt;. &lt;/P&gt;</description></item><item><title>Απ: Application.Exit()</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45525.aspx</link><pubDate>Fri, 17 Oct 2008 17:43:43 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45525</guid><dc:creator>gkaz</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45525.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=45525</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Αν καλέσεις την &lt;SPAN style="mso-ansi-language:EN-US;"&gt;Application&lt;/SPAN&gt;.&lt;SPAN style="mso-ansi-language:EN-US;"&gt;Exit&lt;/SPAN&gt;()&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;από οποιοδήποτε σημείο θα εκτελεστεί το &lt;SPAN style="mso-ansi-language:EN-US;"&gt;FormClosing&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;της κύριας φόρμας αρά θα γίνει και ο έλεγχος που θες ακριβώς όπως περιγράφει ο Παναγιώτης. Δεν σου είναι αρκετό αυτό;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Αν θες να γνωρίζεις στην φόρμα όπου κάλεσες το &lt;SPAN style="mso-ansi-language:EN-US;"&gt;exit&lt;/SPAN&gt; αν έχει γίνει ακύρωση από κάποια φόρμα, μπορείς να χρησιμοποιήσεις την &lt;SPAN style="mso-ansi-language:EN-US;"&gt;overload&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;της &lt;SPAN style="mso-ansi-language:EN-US;"&gt;Application&lt;/SPAN&gt;.&lt;SPAN style="mso-ansi-language:EN-US;"&gt;Exit&lt;/SPAN&gt;() .&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Τέλος μια διόρθωση. Για να ακυρώσεις το κλείσιμο πρέπει να θέσεις το &lt;SPAN style="mso-ansi-language:EN-US;"&gt;e&lt;/SPAN&gt;.&lt;SPAN style="mso-ansi-language:EN-US;"&gt;Cansel&lt;/SPAN&gt; = &lt;SPAN style="mso-ansi-language:EN-US;"&gt;true&lt;/SPAN&gt;.&lt;/FONT&gt;&lt;/P&gt;</description></item><item><title>Απ: Application.Exit()</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45524.aspx</link><pubDate>Fri, 17 Oct 2008 16:32:59 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45524</guid><dc:creator>Bill </dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45524.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=45524</wfw:commentRss><description>Ωραία .... και τι γίνεται αν πρέπει να κλείσω την εφαρμογή και απο μία άλλη φόρμα που δεν είναι η main form μου??? Εκεί πρέπει να καλέσω την Application.Exit() και όταν θα κλείνει και η main form θα ξανακάνει την παραπάνω διαδικασία...!Το πρόβλημα μου είναι ότι η εφαρμογή έχει τη δυνατότητα να κλείσει απο 2 διαφορετικές φόρμες και για αυτό έκανα μία class να τη καλώ απο οπουδήποτε.&lt;br&gt;</description></item><item><title>Απ: Application.Exit()</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45522.aspx</link><pubDate>Fri, 17 Oct 2008 08:37:26 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45522</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45522.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=45522</wfw:commentRss><description>&lt;P&gt;Η λύση είναι πολύ απλή. Μήν καλείς την Application.Exit(). Αφού η φόρμα σου ήδη κλείνει, και εφόσον είναι η κύρια φόρμα της εφαρμογής, θα κλείσει και η εφαρμογή. Επίσης, αν επιστρέψεις true ή false δεν παίζει κανένα, μα κανένα απολύτως ρόλο. 'Ετσι κι αλλιώς η OnFormClosing δεν έχει return type. Αν θέλεις να ακυρώσεις το κλείσιμο θα πρέπει να θέσεις το e.Cancel=false όπου το e είναι το event argument που δέχεται η OnFormClosing. Έτσι θα απαλλαγείς και από το try/catch και ο κώδικας σου θα γίνει απλά &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:black;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DialogResult dr &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;=&lt;/SPAN&gt; MessageBox.Show(&lt;SPAN style="BACKGROUND-COLOR:#e4e4e4;FONT-FAMILY:Courier New;COLOR:#666666;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;"Έξοδος από την εφαρμογή;"&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND-COLOR:#e4e4e4;FONT-FAMILY:Courier New;COLOR:#666666;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;"Επιβεβαίωση"&lt;/SPAN&gt;, MessageBoxButtons.YesNo, MessageBoxIcon.Question);&lt;BR&gt;e.Cancel &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;=&lt;/SPAN&gt; (dr == DialogResult.Yes);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Αντί να πειραματίζεσαι για το πως νομίζεις ότι δουλεύουν οι διάφορες μέθοδοι και events καλύτερα να κοιτάξεις το documentation των μεθόδων. Απλά πάς επάνω στο OnFormClosing και πατάς F1.&lt;/P&gt;</description></item><item><title>Application.Exit()</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/45520.aspx</link><pubDate>Fri, 17 Oct 2008 06:38:48 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:45520</guid><dc:creator>Bill </dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/45520.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=45520</wfw:commentRss><description>&amp;nbsp;Έχω μια εφαρμογή όπου έχει και σε Menu bar όπου ο χρήστης μπορεί να επιλέξει Exit (έξοδος απο την εφαρμογή) και απλά να κλείσει την εφαρμογή επιλέγοντας το close button των windows. Θέλω κάθε φορά πριν κλείσει η εφαρμογή να βγαίνει ένα πληροφοριακό μύνημα που απλά να λέει "Εξοδος απο την εφαρμογή" και να έχει δυο button ένα επιβεβαίωση και ένα ακυρο.Λοιπόν τα έχω κάνει όλα αυτά και στο OnFormClosing εκτελώ τα παρακάτω...:&lt;br&gt;΅ try&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DialogResult dr = MessageBox.Show("Έξοδος από την εφαρμογή;", "Επιβεβαίωση", MessageBoxButtons.YesNo, MessageBoxIcon.Question);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (dr == DialogResult.Yes)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application.Exit();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception ex)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show("Σφάλμα κατά το κλείσιμο της εφαρμογής :" + ex.Message);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;Το παραπάνω είναι μέσα σε μια class on_exit_class πχ και είναι static method. Το πρόβλημα μου είναι πως αν θέλω να κλεισω την εφαρμογή και πατώ επιβεβαίωση τότε εμφανίζεται δύο φορές το MessageBox και αυτό γιατί &lt;br&gt;1) Καλείτε μία στο OnClosing &lt;br&gt;2) Ξανα μπαίνει στο event μόλις παει να εκτελέσει το Application.Exit() &lt;br&gt;Λέω να βάλω boolean μεταβλητές και να λύσω πρόχειρα το πρόβλημα .... αλλά θα θελα μια πίο safe και common λύση στο πρόβλημα όποιος έχει καμια ιδέα ........ευπρόσδεκτη!!&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;br&gt;</description></item></channel></rss>