<?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>Απ: Showing and hiding forms (VB)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/57633.aspx</link><pubDate>Fri, 12 Mar 2010 20:13:53 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:57633</guid><dc:creator>dgg</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/57633.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=57633</wfw:commentRss><description>Επειδή στο παράδειγμα δε θέλω κάτι περίπλοκο, θα χρησιμοποιήσω την λύση απλά με μία νέα μέθοδο στην form1 που θα κάνει update το list, καλώντας την στη form2 πριν το form1.show() &lt;br&gt;&lt;br&gt;Thanks για τις απαντήσεις&lt;br&gt;</description></item><item><title>Απ: Showing and hiding forms (VB)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/57631.aspx</link><pubDate>Fri, 12 Mar 2010 19:39:37 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:57631</guid><dc:creator>Βασιλειάδης Σπύρος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/57631.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=57631</wfw:commentRss><description>&lt;P&gt;Επειδή το σενάριο είναι κλασικό (ανοίγω μία φόρμα από μία άλλη και θέλω όταν κλείσει να ενημερωθεί κάτι στην πρώτη) υπάρχει πιο straight forward τρόπος να το πετύχεις (είναι καλύτερο να λες τι θέλεις από το να ζητάς τεχνική λύση για τρόπο που που μπορεί να μην κάθεται&lt;/P&gt;
&lt;P&gt;Στην πρώτη φόρμα&lt;/P&gt;
&lt;P&gt;Onclick&lt;/P&gt;
&lt;P&gt;frm2=new form(this);&lt;/P&gt;
&lt;P&gt;this.Hide&lt;/P&gt;
&lt;P&gt;dialogresult =&amp;nbsp;frm2.shodialog()&lt;/P&gt;
&lt;P&gt;if dialogresult=OK&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;update list&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;sthn deyterh forma&lt;/P&gt;
&lt;P&gt;Onclosed&lt;/P&gt;
&lt;P&gt;if (should update list)&lt;/P&gt;
&lt;P&gt;this.dialogresult=OK&lt;/P&gt;
&lt;P&gt;else&lt;/P&gt;
&lt;P&gt;this.dialogresult=cancel&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Έτσι δεν χρειάζεται να τρέχει ο κώδικάς σου σε event που τρέχουν και σε άλλες περιπτώσεις και θα μπλέξεις σε μονοπάτια if then else και σε flags. το execution flow είναι πιο ξεκάθαρο έτσι. Καλείται η πρώτη φόρμα σαν να είναι συνάρτηση... επιστρέφει απάντηση και αναλόγος πράτεις στο συγκεκριμένο σημείο που θα υπάρχει η λογική σου.&lt;/P&gt;</description></item><item><title>Απ: Showing and hiding forms (VB)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/57628.aspx</link><pubDate>Fri, 12 Mar 2010 18:26:04 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:57628</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/57628.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=57628</wfw:commentRss><description>&lt;P&gt;Οι φόρμες έχουν διάφορα events που ενεργοποιούνται κατά τη διάρκεια ζωής τους. Για παράδειγμα, στην περίπτωσή σου:&lt;/P&gt;
&lt;P&gt;Τρέχει η εφαρμογή:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;frm1.Load&lt;/LI&gt;
&lt;LI&gt;frm1.Activated&lt;/LI&gt;
&lt;LI&gt;frm1.VisibleChanged&lt;/LI&gt;
&lt;LI&gt;frm1.Shown&amp;nbsp;&lt;BR&gt;&lt;BR&gt;Ανοίγει η frm2&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;frm1.VisibleChanged&lt;/LI&gt;
&lt;LI&gt;frm1.Dectivate&lt;BR&gt;&lt;BR&gt;Κλείνει η frm2&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;frm1.VisibleChanged&lt;/LI&gt;
&lt;LI&gt;frm1.Activated&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;To θέμα είναι ότι τα Deactivated/Activated ενεργοποιούνται και όταν κάνεις minimize/restore τη φόρμα. Ενδεχομένως να σου κάνει το VisibleChanged όπου θα ελέγχεις αν frm1.Visible = true και τότε θα γεμίζεις το listbox. Γενικά όμως, θα σου πρότεινα να βάλεις τον επίμαχο κώδικα σε κάποια method και να την καλείς explicitly από όπου χρειάζεται, πχ πριν να κάνεις form1.Show.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Showing and hiding forms (VB)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/57627.aspx</link><pubDate>Fri, 12 Mar 2010 17:24:34 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:57627</guid><dc:creator>dgg</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/57627.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=57627</wfw:commentRss><description>Καλημέρα σας,&lt;br&gt;&lt;br&gt;Έχω κάνει ένα πολύ απλό παράδειγμα (WindowsAppplication). Έχει δυο φορμες. Στην πρώτη φόρμα υπάρχει ένα Button το οπόιο πατώντας το ανοίγει η δεύτερη φόρμα και γίνεται hide η πρώτη.&amp;nbsp; Στη δημιουργία της δεύτερης φόρμας περνάω και την πρώτη στον constructor ώστε να υπάρχει ένα reference για να μπορώ να ξανα εμφανίσω την πρώτη, αν κλείσει η δεύτερη. Ώς εξής:&lt;br&gt;&lt;br&gt;Form1:&lt;br&gt;Private Sub enterButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles enterButton.Click&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &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; Dim Form2 As New Form2(Me)&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; Me.Hide()&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; Form2.Show()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;End Sub&lt;br&gt;&lt;br&gt;&lt;br&gt;Form2:&lt;br&gt;Public Class Form2&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private frm1 As Form1&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub New(ByVal frm1 As Form1)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.frm1 = frm1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; Private Sub Form1_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Handles MyBase.FormClosed&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; frm1.Show()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;br&gt;...&lt;br&gt;&lt;br&gt;&lt;br&gt;Η ερωτηση είναι: Γίνεται, όταν κλείνει η 2η φόρμα και γίνεται show η πρώτη να τρέξει το form_load event ή κάποια άλλη μέθοδος της πρώτης (που κάνει πχ update ένα listbox της πρώτης);&lt;br&gt;</description></item></channel></rss>