<?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>Απ: Πως μπορούμε να αποτρέψουμε τον προγραμματιστή από το να τοποθετήσει ένα UserControl περισσότερες από μία φορές;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/78266.aspx</link><pubDate>Tue, 17 Apr 2018 23:00:35 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:78266</guid><dc:creator>Simonetos The Greek</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/78266.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=78266</wfw:commentRss><description>&lt;font face="verdana,geneva" size="2"&gt;Νίκο σε ευχαριστώ πολύ για την απάντηση, τελικά κατέληξα σε αυτή τη λύση...&lt;br&gt;&lt;/font&gt;&lt;pre class="lang-vb prettyprint prettyprinted"&gt;&lt;font face="verdana,geneva" size="3"&gt;&lt;code&gt;&lt;span class="kwd"&gt;Private&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;Sub&lt;/span&gt;&lt;span class="pln"&gt; Me_ParentChanged&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;sender &lt;/span&gt;&lt;span class="kwd"&gt;As&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;Object&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; e &lt;/span&gt;&lt;span class="kwd"&gt;As&lt;/span&gt;&lt;span class="pln"&gt; EventArgs&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;Handles&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;Me&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;ParentChanged
    &lt;/span&gt;&lt;span class="kwd"&gt;Dim&lt;/span&gt;&lt;span class="pln"&gt; _ParentForm &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;DirectCast&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;Me&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;FindForm&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; Control&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
    &lt;/span&gt;&lt;span class="kwd"&gt;Dim&lt;/span&gt;&lt;span class="pln"&gt; _ControlName &lt;/span&gt;&lt;span class="kwd"&gt;As&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;String&lt;/span&gt;&lt;span class="pln"&gt;
    &lt;/span&gt;&lt;span class="kwd"&gt;If&lt;/span&gt;&lt;span class="pln"&gt; _ParentForm IsNot &lt;/span&gt;&lt;span class="lit"&gt;Nothing&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;Then&lt;/span&gt;&lt;span class="pln"&gt;
        &lt;/span&gt;&lt;span class="kwd"&gt;For&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;Each&lt;/span&gt;&lt;span class="pln"&gt; _Control &lt;/span&gt;&lt;span class="kwd"&gt;As&lt;/span&gt;&lt;span class="pln"&gt; Control &lt;/span&gt;&lt;span class="kwd"&gt;In&lt;/span&gt;&lt;span class="pln"&gt; _ParentForm&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;Controls
            &lt;/span&gt;&lt;span class="kwd"&gt;If&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;TypeOf&lt;/span&gt;&lt;span class="pln"&gt; _Control &lt;/span&gt;&lt;span class="kwd"&gt;Is&lt;/span&gt;&lt;span class="pln"&gt; MyUserControl &lt;/span&gt;&lt;span class="kwd"&gt;AndAlso&lt;/span&gt;&lt;span class="pln"&gt; _Control IsNot &lt;/span&gt;&lt;span class="kwd"&gt;Me&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;Then&lt;/span&gt;&lt;span class="pln"&gt;
                &lt;/span&gt;&lt;span class="kwd"&gt;Throw&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;New&lt;/span&gt;&lt;span class="pln"&gt; ArgumentOutOfRangeException&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="str"&gt;""&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="str"&gt;"You can place only one "&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;&amp;amp;&lt;/span&gt;&lt;span class="pln"&gt; _ControlName &lt;/span&gt;&lt;span class="pun"&gt;&amp;amp;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="str"&gt;" control per form."&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
            &lt;/span&gt;&lt;span class="kwd"&gt;End&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;If&lt;/span&gt;&lt;span class="pln"&gt;
            _Control &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; _ParentForm&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;GetNextControl&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;_Control&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;True&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
        &lt;/span&gt;&lt;span class="kwd"&gt;Next&lt;/span&gt;&lt;span class="pln"&gt;
    &lt;/span&gt;&lt;span class="kwd"&gt;End&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;If&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="kwd"&gt;End&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;Sub&lt;/span&gt;&lt;/code&gt;&lt;/font&gt;&lt;/pre&gt;</description></item><item><title>Απ: Πως μπορούμε να αποτρέψουμε τον προγραμματιστή από το να τοποθετήσει ένα UserControl περισσότερες από μία φορές;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/78265.aspx</link><pubDate>Tue, 17 Apr 2018 21:29:05 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:78265</guid><dc:creator>nikos123</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/78265.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=78265</wfw:commentRss><description>&lt;p&gt;Νομίζω ότι πρέπει να κανείς override τ&lt;span style="font-size:13.3333px;"&gt;η&lt;/span&gt;&amp;nbsp;Serialize μέθοδο του&amp;nbsp;CodeDomSerializer και να βάλεις εκεί τη λογική για υπάρχονται αλλά controls.&amp;nbsp;&lt;/p&gt;&lt;p&gt;https://stackoverflow.com/questions/4305140/how-to-use-designerserializerattribute-on-a-custom-user-control/4305495#4305495&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Πως μπορούμε να αποτρέψουμε τον προγραμματιστή από το να τοποθετήσει ένα UserControl περισσότερες από μία φορές;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/78264.aspx</link><pubDate>Mon, 16 Apr 2018 18:42:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:78264</guid><dc:creator>Simonetos The Greek</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/78264.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=78264</wfw:commentRss><description>&lt;span id="result_box" class=""&gt;&lt;span&gt;Καλημέρα σε όλους!!!&lt;br&gt;&lt;br&gt;Δουλεύω ένα 
&lt;b&gt;UserControl&lt;/b&gt; σε &lt;b&gt;VB.NET&lt;/b&gt; (VS2017) και ψάχνω&amp;nbsp; έναν τρόπο έτσι ώστε να &lt;b&gt;αποτρέπω&lt;/b&gt; τον προγραμματιστή να 
το &lt;b&gt;τοποθετήσει&lt;/b&gt; σε μία &lt;b&gt;φόρμα&lt;/b&gt; πάνω από &lt;b&gt;μία φορά&lt;/b&gt;, σε
&lt;b&gt;Design Time&lt;/b&gt;.&lt;/span&gt; &lt;span class=""&gt;Με άλλα λόγια, θέλω μέσω του κώδικα μου σε &lt;b&gt;Design Time&lt;/b&gt;, να εντοπίσω 
αν το &lt;b&gt;UserControl&lt;/b&gt; μου έχει ήδη τοποθετηθεί σε κάποιο &lt;b&gt;ParentForm&lt;/b&gt; ή όχι και να αποτρέψω τη δεύτερη τοποθέτηση εάν υπάρχει ήδη.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span class=""&gt;Προσπάθησα κάτι, σαν αυτό που θα δείτε στο παράδειγμα παρακάτω... Αλλά δεν είμαι σίγουρος αν 
αυτός είναι ο "σωστός" τρόπος και δεν μπορώ να βρω πώς να 
αφαιρέσω ή να σταματήσω την τοποθέτηση του &lt;b&gt;UserControl&lt;/b&gt;.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span class=""&gt;Και πάλι, όλα αυτά, σε &lt;b&gt;Design Time&lt;/b&gt;!!!&lt;br&gt;&lt;br&gt;&lt;b&gt;Private Sub MyUserControl_Load(sender As Object, e As EventArgs) Handles MyBase.Load &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim _Count As Integer&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim _UserControl As MyUserControl&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each _UserControl In Me.ParentForm.Controls&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If _UserControl.Name.Contains("MyUserControl") Then&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; _Count += 1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If _Count &amp;gt; 1 Then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox("Control have been placed.")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox("Control haven't placed yet.")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;End Sub&lt;/b&gt;&lt;br&gt;&lt;/span&gt;&lt;/span&gt;</description></item></channel></rss>