<?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>Απ: VB.Net &amp; Setup Property Value</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66505.aspx</link><pubDate>Thu, 07 Jul 2011 01:51:03 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66505</guid><dc:creator>Libra Storm</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66505.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=66505</wfw:commentRss><description>Στην C# θα κάνει ανάθεση τις τιμής και στα δύο κουμπιά. Σύγκρινε αν θέλεις τις δύο αυτές προτάσεις γιά να δεις τι αποτελέσματα βγάζουν.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;btnEdit.Enabled = btnDelete.Enabled = TestBindingSource.Count &amp;gt; 0;&lt;/div&gt;&lt;div&gt;btnEdit.Enabled = btnDelete.Enabled == TestBindingSource.Count &amp;gt; 0;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;</description></item><item><title>Απ: VB.Net &amp; Setup Property Value</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66504.aspx</link><pubDate>Thu, 07 Jul 2011 01:22:17 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66504</guid><dc:creator>George Parissis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66504.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=66504</wfw:commentRss><description>&lt;p&gt;Σωστή παρατήρηση, το είχα ξεχάσει το Option Strict και&amp;nbsp;όπως περιέγραψες&amp;nbsp;κάνει πρώτα την σύγκριση με το btnDelete και στην συνέχεια την ανάθεση στο btnEdit.&lt;/p&gt;&lt;p&gt;Στην C# η γραμμή btnEdit.Enabled=btnDelete.Enabled=RowsBindingSource.Count&amp;gt;0 θα έκανε ανάθεση τιμής σε όλα τα buttons ή θα είχε την ίδια συμπεριφορά όπως με την VB;&lt;/p&gt;</description></item><item><title>Απ: VB.Net &amp; Setup Property Value</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66503.aspx</link><pubDate>Wed, 06 Jul 2011 21:26:14 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66503</guid><dc:creator>Libra Storm</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66503.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=66503</wfw:commentRss><description>Ανοίξτε τα properties του project και μετά το compile section. Αλλάξτε το option strict από off σε on. Η "παράξενη" αυτή συμπεριφορά οφείλεται στο late binding της VB. Με option strict off θα αντιμετωπίσετε προβλήματα στο&amp;nbsp;performance&amp;nbsp;και bugs που είναι δύσκολο να βρεθούν και να λυθούν.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;Error&lt;span class="Apple-tab-span" style="white-space:pre;"&gt;	&lt;/span&gt;1&lt;span class="Apple-tab-span" style="white-space:pre;"&gt;	&lt;/span&gt;Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;btnEdit.Enabled = (btnDelete.Enabled = (TestBindingSource.Count &amp;gt; 0)) (το 1ο = είναι ανάθεση το 2ο = είναι σύγκριση)&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;</description></item><item><title>Απ: VB.Net &amp; Setup Property Value</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66502.aspx</link><pubDate>Wed, 06 Jul 2011 21:21:56 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66502</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66502.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=66502</wfw:commentRss><description>ΦΤΟΥΟΥΟΥΟΥ!!! Η βλακεία &lt;b&gt;δεν &lt;/b&gt;έχει όρια!! Και αναφέρομαι, βέβαια, &lt;b&gt;στη δική μου&lt;/b&gt; βλακεία...&lt;br&gt;&lt;br&gt;Είναι απολύτως λογικό να μην αλλάζει η συμπεριφορά με την παρένθεση. Μέσα στην παρένθεση γίνεται ένα assignment. Η έκφραση, όμως, μέσα στην παρένθεση δεν επιστρέφει μια boolean τιμή για να αλλάξει και το state του πρώτου button. Αλλιώς βλέπεις τα πράγματα την ημέρα, αλλιώς τη νύχτα... Νομίζω πως μένουμε με την αρχική λύση.&lt;br&gt;</description></item><item><title>Απ: VB.Net &amp; Setup Property Value</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66496.aspx</link><pubDate>Wed, 06 Jul 2011 09:06:05 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66496</guid><dc:creator>George Parissis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66496.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=66496</wfw:commentRss><description>&lt;p&gt;Παναγιώτη συμφωνώ, η γραμμή που έγραψα δεν κάνει αυτό που νομίζω.&lt;/p&gt;&lt;p&gt;Το Default state του Enabled είναι True σε όλα τα Buttons. &lt;/p&gt;&lt;p&gt;Μάρκο οι παρένθεση έχει ακριβώς την ίδια συμπεριφορά. &lt;/p&gt;&lt;p&gt;Πιο πολύ το βλέπω σαν άσκηση και μου έχει κινήση την περιέργεια. Φυσικά το έσπασα σε δύο γραμμές για να συνεχίσω αλλά αν κανείς έχει μία εξήγηση γιατί συμβαίνει αυτό ενώ όπως προανέφερα φαίνεται τόσο απλό.&lt;/p&gt;&lt;p&gt;Σας έχω φτιάξει και ένα μικρό project για να το δείτε και οι ίδιοι και να κάνετε ότι πειραματισμούς θελήσετε.&lt;/p&gt;</description></item><item><title>Απ: VB.Net &amp; Setup Property Value</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66495.aspx</link><pubDate>Wed, 06 Jul 2011 05:38:21 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66495</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66495.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=66495</wfw:commentRss><description>Μάλλον έχει να κάνει με τον "τρόπο" που γίνεται το assignment. Το btnEdit "παίρνει" την παλιά τιμή του btnDelete και μετά αλλάζει η τιμή στο btnDelete ανάλογα με το αν υπάρχουν εγγραφές ή όχι. Το ότι αλλάζει το enabled state του btnDelete δε σημαίνει ότι πρέπει να γίνει ξανά assignment στο state του btnEdit. Δοκίμασε να το γράψεις έτσι για να δεις αν παίζει:&lt;br&gt;&lt;br&gt;btnEdit.Enabled=(btnDelete.Enabled=RowsBindingSource.Count &amp;gt; 0)&lt;br&gt;&lt;br&gt;Διαφορετικά, ή θα τα σπάσεις σε δύο σειρές όπως λέει ο Παναγιώτης, ή σε ένα από τα δύο buttons η αλλαγή του state θα γίνεται μέσα από το EnabledChanged event handler του άλλου button. Θα έχει ενδιαφέρον, όμως, να μας πεις αν λειτουργεί με την παρένθεση ή όχι.&lt;br&gt;</description></item><item><title>Απ: VB.Net &amp; Setup Property Value</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66494.aspx</link><pubDate>Wed, 06 Jul 2011 05:28:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66494</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66494.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=66494</wfw:commentRss><description>&lt;p&gt;Και αν τα σπάσεις σε ξεχωριστές γραμμές? &lt;/p&gt;&lt;p&gt;Και μην ξεχνάμε, ότι στη VB.NET το '=' σημαίνει και ανάθεση και συγκριση. Η γραμμή που έγραψες μάλλον δεν κάνει αυτό που νομίζεις&lt;/p&gt;</description></item><item><title>VB.Net &amp; Setup Property Value</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66493.aspx</link><pubDate>Wed, 06 Jul 2011 05:21:44 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66493</guid><dc:creator>George Parissis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66493.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=66493</wfw:commentRss><description>&lt;p&gt;Πρόσφατα έπεσα επάνω σε ένα ανεξήγητο για εμένα σύμπτωμα που εκ πρώτης όψεως δεν θα έπρεπε να παρουσίαζε πρόβλημα. Είχα βάλει επάνω σε μία φόρμα&amp;nbsp;τέσσερα κουμπιά. &lt;/p&gt;&lt;p&gt;Δημιουργία, Προβολή, Διαγραφή και Ανανέωση. Τα κλασσικά θα έλεγα που βάζουν όλοι.&lt;/p&gt;&lt;p&gt;Η λειτουργία της φόρμας είναι να δείχνει εγγραφές από έναν πίνακα οπότε αν αυτές δεν υπήρχαν θα ήθελα τα κουμπία Προβολή &amp;amp; Διαγραφή να είναι απενεργοποιημένα. Έβαλα λοιπόν στο BindingSource&amp;nbsp;ListChanged Event τον εξής κώδικα:&lt;/p&gt;&lt;p&gt;btnEdit.Enabled=btnDelete.Enabled=RowsBindingSource.Count &amp;gt; 0 &lt;/p&gt;&lt;p&gt;Ο παραπάνω κώδικας δεν παίζει. Το btnDelete πέρνει κανονικά την τιμή του ενώ το btnEdit την ανάποδη.&lt;/p&gt;&lt;p&gt;Αν έχω εγγραφές το Edit είναι απενεργοποιημένο και το Delete ενεργοποιημένο. Αν δεν έχω εγγραφές το Edit είναι ενεργοποιημένο και το Delete απενεργοποιημένο. Και όπως καταλαβαίνεται προβληματίστικα για την συμπεριφορά αυτή. Γιατί άραγε γίνεται αυτό;&lt;/p&gt;</description></item></channel></rss>