<?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>Απ: Treeview &amp; Background Worker</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/37731.aspx</link><pubDate>Tue, 27 Nov 2007 01:23:52 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:37731</guid><dc:creator>micfarmakis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/37731.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=37731</wfw:commentRss><description>&lt;P&gt;Αλλαγές στο UI ειναι δυνατές μόνο από το main thread της εφαρμογής σου. Χρησιμοποίησε το progressReport event του worker για να "γεμίζεις"¨το tree. H doWork ΔΕΝ μπορεί καθώς τρέχει στο thread tou worker. Για περισσότερες λεπτομέρειες αν θέλεις θα προσπαθήσω αργότερα&lt;/P&gt;</description></item><item><title>Απ: Treeview &amp; Background Worker</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/37729.aspx</link><pubDate>Tue, 27 Nov 2007 01:19:50 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:37729</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/37729.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=37729</wfw:commentRss><description>Θα πρέπει να δώσεις λίγη προσοχή στο documentation του BackgroundWorker control. Ο σκοπός του δεν είναι μόνο να τρέξει κάτι σε άλλο thread αλλά να αναλάβει και τη σωστή επικοινωνία μεταξύ του άλλου thread και του UI σου. Εξ από ανέκαθεν, απαγορεύεται κώδικας από κάποιο background thread να πειράξει ένα control που δημιουργήθηκε από το UI thread. Το BackgroundWorker component λύνει αυτό το πρόβλημα δίνοντας σου ένα event το οποίο πρέπει να σηκώσεις μέσα στο loop σου περνώντας μία τιμή που δείχνει την πρόοδο του thread σου. Μετά, στη φόρμα σου θα προσθέσεις ένα handler για το event αυτό ο οποίος θα παίρνει την τιμή και θα την εμφανίζει στο treeview σου. Κοίτα τα παραδείγματα του documentation καθώς τα περιγράφουν όλα αυτά.</description></item><item><title>Treeview &amp; Background Worker</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/37727.aspx</link><pubDate>Tue, 27 Nov 2007 00:50:54 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:37727</guid><dc:creator>xenophon</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/37727.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=37727</wfw:commentRss><description>καταρχήν έχω με μια εφαρμογή με 1 treeview 1 background worker και τέλος ενα κουμπι&lt;br&gt;πατώντας το κουμπί βάζω το background worker να λειτουργεί και σε αυτό εχω τον εξης κώδικα&lt;br&gt;&lt;br&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;Dim&lt;/span&gt; i &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Integer&lt;/span&gt; &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; 0&lt;br&gt;        &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Do&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Until&lt;/span&gt; i &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; 3 &lt;span style="color:Green;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'My.Computer.Registry.ClassesRoot().SubKeyCount&lt;/span&gt;&lt;br&gt;        TreeView1.Nodes(0).Nodes.&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Add&lt;/span&gt;(My.Computer.Registry.ClassesRoot.GetSubKeyNames(i))&lt;br&gt;            i &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; i &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;+&lt;/span&gt; 1&lt;br&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Loop&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;δλδ με αυτο διαβάζει τα 3 πρωτα key της registy στο &lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ClassesRoot &lt;/span&gt;(αλλα δεν εχει σημασία αυτο)&lt;br&gt;μετα εκει που ειναι να βαλει το καθε κλειδί στο treeview μου βγάζει το εξης error στο debug&lt;br&gt;&lt;br&gt;"Action being performed on this control is being called from the wrong thread. Marshal to the correct thread using Control.Invoke or Control.BeginInvoke to perform this action"&lt;br&gt;&lt;br&gt;δεν εχω καταλάβει τι πρεπει να κανω , απλα θελω οσο κανει loop να προσθέτει στο treeview τα nodes.&lt;br&gt;τι πρεπει να κανω ;&lt;br&gt;&lt;br&gt;</description></item></channel></rss>