<?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>Απ: Reflection σε design-time για υλοποίηση combobox design-time property σε user control</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/12488.aspx</link><pubDate>Wed, 10 May 2006 17:32:40 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:12488</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/12488.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=12488</wfw:commentRss><description>Αργησα λιγάκι να το δω. Θα το δοκιμάσω, και θα απαντήσω. Ευχαριστω!</description></item><item><title>Απ: Reflection σε design-time για υλοποίηση combobox design-time property σε user control</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/12327.aspx</link><pubDate>Fri, 05 May 2006 20:19:15 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:12327</guid><dc:creator>Νατάσα Μανουσοπούλου</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/12327.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=12327</wfw:commentRss><description>&lt;P&gt;Ως γνωστόν, όταν κάνεις design μια φόρμα, ο designer του Visual Studio δημιουργεί ένα instance της base class σου (που εδώ είναι η System.Windows.Forms.Form) και το εμφανίζει στο design area για να το πειράξεις. Έτσι λοιπόν ότι&amp;nbsp;όταν καλέσεις από το control&amp;nbsp;την&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&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;this&lt;/span&gt;.FindForm().GetType().Assembly&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;σου φαίνεται να είναι η System.Windows.Forms για αυτό το λόγο.&lt;/P&gt;
&lt;P&gt;Αν όμως φτιάξεις μια κλάση η οποία βρίσκεται στην assembly περί ης ο λόγος, η οποία κληρονομεί από την System.Windows.Forms.Form χωρίς να κάνει τίποτα άλλο απολύτως, και βάλεις base class της φόρμας σου αυτή την κλάση, τότε η this.FindForm().GetType().Assembly του control σε design time θα σου δώσει τη δική σου assembly.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Reflection σε design-time για υλοποίηση combobox design-time property σε user control</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/12324.aspx</link><pubDate>Fri, 05 May 2006 19:13:57 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:12324</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/12324.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=12324</wfw:commentRss><description>&lt;P&gt;Αν και ο τίτλος μπορεί να φαίνεται λίγο περίεργος, αυτό που θέλω να κάνω είναι σχετικά απλό. &lt;/P&gt;
&lt;P&gt;Παλιότερα λοιπόν είχα γράψει στο blog μου ένα αρθράκι (για τη δημιουργία του οποίου πάλι είχα σημαντική βοήθεια από τα μέλη της κοινότητας εδώ), σχετικά με τη &lt;A href="/cs/blogs/sfilip/archive/2005/12/14/7955.aspx"&gt;Δημιουργία design-time combo-style String property για user control&lt;/A&gt;. Ουσιαστικά, δηλαδή, για το πώς φτιάχνουμε το δικό μας typeconverter για να δώσουμε σε ένα user-control string properties με προκαθορισμένες τιμές που θα επιλέγονται από combo box στο property grid τους σε design-time.&lt;/P&gt;
&lt;P&gt;Προέκυψε η ανάγκη να επεκτεινω αυτό το concept, δεν είμαι όμως σίγουρος πως αυτό που θέλω να κάνω μπορεί με κάποιον τρόπο να υλοποιηθεί. Θέλω λοιπόν να τραβήξω reflection σε DESIGN TIME στο Assembly που θα εκτελεστεί, ώστε να "γεμίσω" αυτό το design-time property με τα ονόματα κλάσεων που κληρονομούν από κάποιον συγκεκριμένο τύπο και βρίσκονται στο Assembly μου. &lt;/P&gt;
&lt;P&gt;Το θέμα γίνεται ακόμα δυσκολότερο, γιατί το control που θα περιέχει το property αυτό ΔΕΝ βρίσκεται στο Assembly που θα εκτελεστεί αλλά σε ένα άλλο assembly.&lt;BR&gt;Ενας ακόμα παράγοντας δυσκολίας είναι οτι ΔΕΝ θέλω να έχω hardcoded το όνομα του Assembly από το οποίο θα τραβήξω τα ονόματα. Θέλω πάντα να είναι αυτό που θα εκτελεστεί, χωρίς όμως να γνωρίζω εκ των προτέρων ποιό θα είναι. Αυτό γιατί το control έχει μπει σε μια ξεχωριστή library η οποία γίνεται πάντα reference από το εκτελούμενο assembly.&lt;/P&gt;
&lt;P&gt;Εκείνη την ώρα δεν έχω ExecutingAssembly (ειμαι σε design time - και μάλιστα τρώω ένα ΦΟΒΕΡΟ crash αν επιχειρήσω να το χρησιμοποιήσω), το CallingAssembly μου φαίνεται να ειναι το System.Windows.Forms.Form και το EntryAssembly μου πάλι δεν παίζει. &lt;/P&gt;
&lt;P&gt;Η ερώτηση λοιπόν είναι: Γινεται, ή να εγκαταλείψω την προσπάθεια; Πως μπορεί σε design-time κάποιος να επιχειρήσει να κάνει reflection στο startup assembly (αυτό που αντιστοιχεί στο startup project του solution του) και να πάρει types, χωρίς να έχει hardcoded ονομα; (Εννοείται οτι το assembly έχει γίνει compile). Μήπως το reflection δεν είναι ο σωστός τρόπος (πολυ το φοβαμαι αυτό!) &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item></channel></rss>