<?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>Πρώτα Βήματα - Desktop Applications</title><link>https://www.dotnetzone.gr:443/cs/forums/80/ShowForum.aspx</link><description>Θέματα για όσους φτιάχνουν τα πρώτα τους Desktop Applications σε .NET Framework</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Πρόβλημα με error provider σε databinded controls</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/41093.aspx</link><pubDate>Mon, 24 Mar 2008 15:53:29 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:41093</guid><dc:creator>Smert</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/41093.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=80&amp;PostID=41093</wfw:commentRss><description>&lt;P&gt;Hello! καταρχήν κ εγώ αρχάριος είμαι αλλά θα σου πω τι ξέρω από ένα κεφαλαιάκι ενός book, το WinForms 2.0 Programming.&lt;/P&gt;
&lt;P&gt;Καταρχήν ναι τα events κατά τα οποία κάνεις validating είναι ""λάθος"". Το σωστό event είναι το&amp;nbsp;validating, το οποίο έτσι κ αλλιώς θα βαρέσει όταν χάνει το focus, όποτε το focus.leave δε χρειάζεται να το πειράξεις. Με αυτό τον τρόπο δε σε αφήνει να χάσει focus το textbox μέχρι να πάρει ορθή τιμή, το οποίο δεν είναι και το πιο user-friendly, είναι ένα πρώτο στάδιο validation.Επίσης, ό,τι δεν πάρει ποτέ focus, δε θα validate κιόλας, όποτε περνάς σε validation όλης της φόρμας.&lt;/P&gt;
&lt;P&gt;Για να χάνουν focus και να μένει το (!), αλλάζεις απτα properties της φόρμας το AutoValidate -&amp;gt; EnableAllowFocusChange.&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=docEmphStrong&gt;Με κώσδικα: this.AutoValidate = AutoValidate.EnableAllowFocusChange;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Επίσης, κάνεις validate κάθε control της φόρμας, που έχει "causesValidation" property, με τον handler του ok:&lt;/P&gt;
&lt;P&gt;void okButton_Click(object sender, EventArgs e) {&lt;BR&gt;&amp;nbsp; if( &lt;SPAN class=docEmphStrong&gt;!this.Validate()&lt;/SPAN&gt; ) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.DialogResult = DialogResult.None; //an einai dialog, gia na mi to kleinei.&lt;BR&gt;&amp;nbsp; }&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;Αν έχεις controls μέσα σε groubboxes, θες !&lt;SPAN class=docEmphStrong&gt;this.ValidateChildren() αντί Validate(). και τέλος έχει και validation constraints όπως selectable κλπ, δε ξέρω αν σε ενδιαφέρουν.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=docEmphStrong&gt;Ελπίζω να βοήθησα, να ναι καλά η "βίβλος" μου. Happy Validating.&lt;/SPAN&gt;&lt;/P&gt;</description></item><item><title>Απ: Πρόβλημα με error provider σε databinded controls</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/39564.aspx</link><pubDate>Fri, 25 Jan 2008 22:06:12 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:39564</guid><dc:creator>M1ke</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/39564.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=80&amp;PostID=39564</wfw:commentRss><description>Θα ήθελα πολύ να αλλάξω τη λογική, απλά δεν ξέρω πως!! Οι παραπάνω συναρτήσεις εκτελούνται στην φόρμα.. (ξέρω, κακό). Είναι εύκολο να μεταφέρω τον έλεγχο στον κώδικα του dataset? &lt;br /&gt;Γενικά η εμπειρία μου με visual studio είναι μικρή, οπότε κάνω αρκετά λάθη σχεδιασμού..</description></item><item><title>Απ: Πρόβλημα με error provider σε databinded controls</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/39563.aspx</link><pubDate>Fri, 25 Jan 2008 21:52:05 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:39563</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/39563.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=80&amp;PostID=39563</wfw:commentRss><description>&lt;P&gt;Θα σου πρότεινα να αλλάξεις λίγο την λογική σου. Να κάνεις έλεγχο συνολικά όταν πρόκειται ο χρήστης να κάνει submit την εγγραφή ή να περάσει σε άλλη και να αφήσεις τον έλεγχο ανά πεδίο για τις περιπτώσεις που ένα πεδίο εξαρτάται από κάποιο άλλο. Όπως και να έχει, ίσως σε βοηθήσει το row status (να χειρίζεσαι διαφορετικά την περίπτωση που είναι new η εγγραφή)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Πρόβλημα με error provider σε databinded controls</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/39562.aspx</link><pubDate>Fri, 25 Jan 2008 21:24:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:39562</guid><dc:creator>M1ke</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/39562.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=80&amp;PostID=39562</wfw:commentRss><description>Καλησπέρα! Εχω δημιουργήσει μία φόρμα με databinded controls (drag'n'drop από datasource σε μορφή details). Θέλω να επισημαίνει ποιά πεδία δεν πρέπει να είναι null με τη χρήση ενός error provider. Καλώ τη συνάρτηση CheckNullValues στα events TextChanged και Focus.Leave. &lt;br&gt;&lt;br&gt;void CheckNullValues(object sender, EventArgs e)&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataRowView s;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; s = (System.Data.DatarowView) bindingsource1.Current;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CheckRows((Dataset1.CustomerRow) s.Row);&lt;br&gt;}&lt;br&gt;&lt;br&gt;με την CheckRows να ελέγχει αν τα controls έχουν null τιμες:&lt;br&gt;&lt;br&gt;για κάθε control&lt;br&gt;&lt;br&gt;if (customerRow.IsNull("Name") || customerRow.Name == "")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; errorprovider.seterror("Name", ...error...);&lt;br&gt;else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; errorprovider.seterror("Name", "");&lt;br&gt;&lt;br&gt;Το πρόβλημα υπάρχει όταν πατάω για νέα εγγραφή από το bindingnavigator:&lt;br&gt;ο error provider εμφανίζεται και μένει ενεργός αφού κάνω την αλλαγή (πχ το textbox ειναι κενό με το (!) διπλα του. Βάζω κάποια τιμή. Το (!) παραμένει... Εξαφανίζεται μόνο αν ξαναπάω στο control και ξαναφύγω (ναι, το έθεσα επιστημονικα)).&lt;br&gt;&lt;br&gt;Υπάρχει τρόπος να εξαφανίζεται το (!) όταν φεύγω από το textbox για πρώτη φορά?&lt;br&gt;&lt;br&gt;Ευχαριστώ!&lt;br&gt;&lt;br&gt;ΥΓ. όπου (!): Ο errorprovider&lt;br&gt;ΥΓ2. Άτιμα κειμενοκούτια με δεδομενοδεσμό! (textbox με databinding vre!!)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item></channel></rss>