<?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>Απ: Εναλλαγή label σε textbox</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/56293.aspx</link><pubDate>Sun, 10 Jan 2010 00:31:02 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:56293</guid><dc:creator>object+</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/56293.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=56293</wfw:commentRss><description>Μια λυση ειναι αυτη που ειπε και ο Παναγιωτης. Αλλα εγω θα σου προτεινα να φτιαξεις ενα control και μετα να το &amp;nbsp;βαλεις σα components, για να μην εχεις 213123123 γραμμες κωδικα στην main form, για πιο ευκολο debuggng&amp;nbsp;&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt; .&lt;div&gt;τσεκαρε το παρακατω για να παρεις μια ιδεα.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;pre&gt;    &lt;span style="color:#0000ff;font-weight:bold;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;font-weight:bold;"&gt;class&lt;/span&gt; LabelEditable_ : Panel&lt;br&gt;    {&lt;br&gt;        &lt;span style="color:#008000;font-style:italic;"&gt;//vars&lt;/span&gt;&lt;br&gt;        &lt;span style="color:#0000ff;font-weight:bold;"&gt;private&lt;/span&gt; Label label;&lt;br&gt;        &lt;span style="color:#0000ff;font-weight:bold;"&gt;private&lt;/span&gt; TextBox textbox;&lt;br&gt;        &lt;span style="color:#008000;font-style:italic;"&gt;//props&lt;/span&gt;&lt;br&gt;        &lt;span style="color:#0000ff;font-weight:bold;"&gt;public&lt;/span&gt; string Txt { get { &lt;span style="color:#0000ff;font-weight:bold;"&gt;return&lt;/span&gt; label.Text; } set { label.Text = value; } }&lt;br&gt;        &lt;span style="color:#008000;font-style:italic;"&gt;//events&lt;/span&gt;&lt;br&gt;        &lt;span style="color:#0000ff;font-weight:bold;"&gt;public&lt;/span&gt; event Action&amp;lt;string&amp;gt; TextChnanged;&lt;br&gt;        &lt;br&gt;        &lt;span style="color:#0000ff;font-weight:bold;"&gt;public&lt;/span&gt; LabelEditable_()&lt;br&gt;        {&lt;br&gt;            &lt;br&gt;            label = &lt;span style="color:#0000ff;font-weight:bold;"&gt;new&lt;/span&gt; Label { Height = &lt;span style="color:#0000ff;font-weight:bold;"&gt;this&lt;/span&gt;.Height, Width = &lt;span style="color:#0000ff;font-weight:bold;"&gt;this&lt;/span&gt;.Width , Text = &lt;span style="color:#0000ff;font-weight:bold;"&gt;this&lt;/span&gt;.Text };&lt;br&gt;            textbox = &lt;span style="color:#0000ff;font-weight:bold;"&gt;new&lt;/span&gt; TextBox { Height = &lt;span style="color:#0000ff;font-weight:bold;"&gt;this&lt;/span&gt;.Height, Width = &lt;span style="color:#0000ff;font-weight:bold;"&gt;this&lt;/span&gt;.Width -&lt;span style="color:#ff8000;"&gt;2&lt;/span&gt;};&lt;br&gt;            &lt;span style="color:#0000ff;font-weight:bold;"&gt;this&lt;/span&gt;.TextChnanged = &lt;span style="color:#0000ff;font-weight:bold;"&gt;new&lt;/span&gt; Action&amp;lt;string&amp;gt;(OnTextChanged);&lt;br&gt;            label.DoubleClick += delegate&lt;br&gt;            {&lt;br&gt;                Controls.Remove(label);&lt;br&gt;                Controls.Add(textbox);&lt;br&gt;                textbox.Focus();&lt;br&gt;            };&lt;br&gt;            textbox.KeyDown += delegate(object s, KeyEventArgs e)&lt;br&gt;            {&lt;br&gt;                &lt;span style="color:#0000ff;font-weight:bold;"&gt;if&lt;/span&gt; (e.KeyCode == Keys.Enter)&lt;br&gt;                {&lt;br&gt;                    label.Text = textbox.Text;&lt;br&gt;                    Controls.Remove(textbox);&lt;br&gt;                    Controls.Add(label);&lt;br&gt;                    TextChnanged(textbox.Text);&lt;br&gt;                }&lt;br&gt;            };&lt;br&gt;            &lt;span style="color:#0000ff;font-weight:bold;"&gt;this&lt;/span&gt;.Controls.Add(label);&lt;br&gt;        }&lt;br&gt;        &lt;span style="color:#0000ff;font-weight:bold;"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff;font-weight:bold;"&gt;virtual&lt;/span&gt; &lt;span style="color:#0000ff;font-weight:bold;"&gt;void&lt;/span&gt; OnTextChanged(string e)&lt;br&gt;        {&lt;br&gt;            &lt;span style="color:#008000;font-style:italic;"&gt;//foo&lt;/span&gt;&lt;br&gt;        }&lt;br&gt;    }&lt;/pre&gt;</description></item><item><title>Απ: Εναλλαγή label σε textbox</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/56230.aspx</link><pubDate>Wed, 06 Jan 2010 02:32:40 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:56230</guid><dc:creator>giannaros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/56230.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=56230</wfw:commentRss><description>Σε ευχαριστώ πολύ.Ήταν αρκετά απλό τελικά.&lt;br&gt;</description></item><item><title>Απ: Εναλλαγή label σε textbox</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/56214.aspx</link><pubDate>Tue, 05 Jan 2010 05:43:37 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:56214</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/56214.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=56214</wfw:commentRss><description>Δεν χρειάζεται να γράφεις διαφορετικό κώδικα για κάθε label. Μπορείς να επιλέξεις την ίδια μέθοδο ως event handler για το DoubleClick event όλων των label controls που χρησιμοποιείς. Μπορείς να δεις ποιό label δημιούργησε το event ελέγχοντας την τιμή της παραμέτρου sender. Αν δημιουργείς τα lables δυναμικά απλά ορίζεις την ίδια μέθοδο ως event handler. Αν δημιουργείς τα lables στο form designer μπορείς να τα επιλέξεις όλα με Control + Click και μετά να θέσεις σε όλα μαζί τον ίδιο event handler στο Double Click event</description></item><item><title>Εναλλαγή label σε textbox</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/56212.aspx</link><pubDate>Tue, 05 Jan 2010 05:20:05 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:56212</guid><dc:creator>giannaros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/56212.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=56212</wfw:commentRss><description>Καλησπέρα&lt;br&gt;αναπτύσσω μια εφαρμογή σε windows forms η οποία θέλω να εμφανίζει κάποια από τα fields των tables (αρκετά) σε labels.Θέλω ο χρήστης να μπορεί να επεξεργαστεί τα δεδομένα κάνοντας διπλό κλικ πάνω σε ένα label το οποία θα μετατρέπεται σε textbox. Αυτό το έχω κάνει βάζοντας ένα textbox πάνω από ένα label και παίζω με το visible(true/false).Το πρόβλημα είναι ότι χρειάζεται να γράφω κώδικα για κάθε διαφορετικό label. Υπάρχει μήπως κάποιος εναλακτικός τρόπος? &lt;br&gt;Ευχαριστώ πολύ για όποια απάντηση.&lt;br&gt;</description></item></channel></rss>