<?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>Απ: Διπλή εκτέλεση Event</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/53870.aspx</link><pubDate>Mon, 21 Sep 2009 18:40:03 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:53870</guid><dc:creator>imanos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/53870.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=53870</wfw:commentRss><description>&lt;P&gt;Στο event click του button&amp;nbsp;δώσε στο property&amp;nbsp;του&amp;nbsp;button Enabled=false έτσι ώστε ακόμα και δύο φορές να πατήσει το κουμπί&amp;nbsp;του ποντικιού η δεύτερη δέν θα μπορέσει να εκτελεστεί.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub cmdRegister_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdRegister.Click&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmdRegister.Enabled=false&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CompleteArrival()&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;&lt;/P&gt;</description></item><item><title>Απ: Διπλή εκτέλεση Event</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/53866.aspx</link><pubDate>Mon, 21 Sep 2009 07:44:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:53866</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/53866.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=53866</wfw:commentRss><description>&lt;P&gt;Δημήτρη, αυτό που προτείνεις δεν θα δουλέψει, απλά γιατί το δεύτερο event θα εκτελεστεί αφού ολοκληρωθεί το πρώτο. Αλλά ακόμα και αν το event το καλούσαν δύο διαφορετικά threads, πάλι ο κώδικας θα έτρεχε δύο φορές. Σε κάθε περίπτωση το SyncLock δεν είναι λύση. Πρέπει να βρεθεί η πραγματική αιτία του προβλήματος αλλιώς μπορεί να προκληθούν μεγαλύτερα προβλήματα λόγω μπλοκαρισμάτων μεταξύ thread. &lt;/P&gt;
&lt;P&gt;Στην παρούσα περίπτωση πάντως πιο πιθανό μου φαίνεται να έχει πρόβλημα το ποντίκι του πελάτη. Ζήτημα λειτουργικού δεν είναι σε καμμία περίπτωση, ούτε έχει σημασία ότι είναι Vista. &lt;/P&gt;
&lt;P&gt;Όσον αφορά το Close και τα events, η Close κατά κανόνα καταστρέφει τη φόρμα, υπάρχουν όμως και εξαιρέσεις οι οποίες περιγράφονται στο &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.forms.form.close.aspx"&gt;documentation&lt;/A&gt;. Μία περίπτωση είναι η φόρμα να έχει εμφανιστεί με τη ShowDialog. Σε αυτή την περίπτωση η Close δεν καταστρέφει τη φόρμα.&lt;/P&gt;</description></item><item><title>Απ: Διπλή εκτέλεση Event</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/53865.aspx</link><pubDate>Mon, 21 Sep 2009 07:29:27 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:53865</guid><dc:creator>Dimitris Andrakakis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/53865.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=53865</wfw:commentRss><description>Καλησπέρα,&lt;br&gt;&lt;br&gt;Για να είσαι σίγουρος, γιατί δεν κάνεις κάτι σαν αυτό :&lt;br&gt;&lt;br&gt;Shared Dim _lock As New Object();&lt;br&gt;&lt;br&gt;Private Sub CompleteArrival()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try&lt;br&gt;&lt;br&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span style="color:blue;"&gt;SyncLock&lt;/span&gt; (_lock&lt;/span&gt;&lt;/font&gt;)&lt;br&gt;&lt;br&gt;&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; ExecuteQueryOnSQLServer2008ExpressEdition(QueryString_1)&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; ExecuteQueryOnSQLServer2008ExpressEdition(QueryString_2)&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; ExecuteQueryOnSQLServer2008ExpressEdition(QueryString_3)&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; ExecuteQueryOnSQLServer2008ExpressEdition(QueryString_4)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .................&lt;br&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span style="color:blue;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;u&gt;Me.Close&lt;/u&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;SyncLock&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex as Exception&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .................&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Finally&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .................&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;br&gt;End Sub&lt;br&gt;</description></item><item><title>Απ: Διπλή εκτέλεση Event</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/53381.aspx</link><pubDate>Wed, 02 Sep 2009 18:42:11 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:53381</guid><dc:creator>SakisT</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/53381.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=53381</wfw:commentRss><description>Παναγιώτη, σε ευχαριστώ καταρχήν για την απάντησή σου.&lt;br&gt;&lt;br&gt;Έχω βάλει το tracking που λες και όντως δείχνει να πατιέται δύο φορές το Button με διαφορά χρόνου περίπου τα 15/100 του δευτερολέπτου.&amp;nbsp; Αυτό όμως είναι που δεν μπορώ να καταλάβω.&amp;nbsp; Εφόσον δεν υπάρχει exception, θα πρέπει ο κώδικας στο πρώτο click να εκτελεί το Me.Close της φόρμας.&amp;nbsp; Με κλειστή τη φόρμα λοιπόν πως είναι δυνατό να έχω και δεύτερο Button_Click?&lt;br&gt;&lt;br&gt;Υπάρχει περίπτωση το δεύτερο event να σηκώνεται σε ξεχωριστό Thread;&amp;nbsp; Το πρόβλημα εμφανίζεται μια φορά στα 500 click του button και μόνο στο συγκεκριμένο πελάτη.&amp;nbsp; Υπάρχει μήπως περίπτωση να είναι ζήτημα του λειτουργικού; δεδομένου ότι είναι από τους ελάχιστους πελάτες μου που χρησιμοποιεί Vista&amp;nbsp; σε αντίθεση με τη πλειοψηφία που χρησιμοποιούν XP. &lt;br&gt;</description></item><item><title>Απ: Διπλή εκτέλεση Event</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/53365.aspx</link><pubDate>Wed, 02 Sep 2009 00:24:41 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:53365</guid><dc:creator>Panagiotis Kefalidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/53365.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=53365</wfw:commentRss><description>Μήπως όντως πατιέται δυο φορές το Button; Γιατί δεν βάζεις tracing που γράφει σ'ένα αρχείο να ξέρεις τι γίνεται.. Μέτρα πόσες φορές το έχει εκτελέσει. Μπορεί να είναι τόσο απλό όσο ενα defect mouse..</description></item><item><title>Διπλή εκτέλεση Event</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/53364.aspx</link><pubDate>Wed, 02 Sep 2009 00:03:40 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:53364</guid><dc:creator>SakisT</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/53364.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=53364</wfw:commentRss><description>Καλησπέρα σε όλους και καλό υπόλοιπο διακοπών!!&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br&gt;&lt;br&gt;Μπαίνω αμέσως στο θέμα μου.&lt;br&gt;&lt;br&gt;Έχω μία εφαρμογή σε vb.Net&amp;nbsp; η οποία μου δημιουργεί ένα μάλλον περίεργο πρόβλημα.&lt;br&gt;Έχω ένα κομμάτι κώδικα που πάνω κάτω λέει τα εξής:&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub cmdRegister_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdRegister.Click&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CompleteArrival()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;br&gt;&lt;br&gt;Private Sub CompleteArrival()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try&lt;br&gt;&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; ExecuteQueryOnSQLServer2008ExpressEdition(QueryString_1)&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; ExecuteQueryOnSQLServer2008ExpressEdition(QueryString_2)&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; ExecuteQueryOnSQLServer2008ExpressEdition(QueryString_3)&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; ExecuteQueryOnSQLServer2008ExpressEdition(QueryString_4)&lt;br&gt;&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; &lt;u&gt;Me.Close&lt;/u&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex as Exception&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .................&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Finally&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .................&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;br&gt;End Sub&lt;br&gt;&lt;br&gt;Όλος ο κώδικας δουλεύει μια χαρά, αλλά σε έναν από τους πελάτες μου συμβαίνει το εξής περίεργο το οποίο μάλιστα εγώ δεν μπορώ να το αναπαράγω με κάποιο τρόπο ώστε να καταλάβω ποιά είναι η πηγή του προβλήματος.&amp;nbsp; Στο συγκεκριμένο πελάτη λοιπόν κάποιες φορές&amp;nbsp; χωρίς να έχει "σηκωθεί" κάποιο exception, τα Queries εκτελούνται 2 φορές παρ' ότι η τελευταία εντολή είναι η Me.Close.&amp;nbsp; Ακόμη να σημειώσω ότι αυτή η Sub καλείται ΜΟΝΟ από το συγκεκριμένο Button_Click.&amp;nbsp; &lt;br&gt;Φαίνεται δηλαδή σαν να πατιέται δύο φορές το Button, να εκτελείται 2 φορές ο κώδικας, πριν να κλείσει η φόρμα μου.&lt;br&gt;&lt;br&gt;Όποια βοήθεια ευπρόσδεκτη!!&lt;br&gt;Ευχαριστώ !!!!&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item></channel></rss>