2012-07-16 19 views
8

का पिछला मूल्य प्राप्त करना चाहता हूं कि मैं अपने एप्लिकेशन को कॉम्बोबॉक्स के मूल्य को पकड़ने के लिए और फिर उपयोगकर्ता द्वारा चुने गए किसी को सेट करने के लिए या किसी भी तरह से पहले चयनित मान प्राप्त करने के लिए चाहता हूं।कॉम्बोबॉक्स

बात यह है कि मेरे फॉर्म के भीतर, चार सूचियां और कॉम्बोबॉक्स (जिसमें सूचियों से सभी मूल्य शामिल हैं) हैं और मैं कॉम्बोबॉक्स के मूल्य को उस सूची में दोबारा बदलना चाहता हूं जो इसे लिया गया था और फिर हटा दिया गया था अन्य चयनित आइटम से अन्य चयनित आइटम।

उत्तर

16

आप ComboBox.Enter ईवेंट को संभालना चाहते हैं। फिर सदस्य चर के लिए SelectedItem या SelectedValue को सहेजें। जब भी आप चाहते हैं, तो आप उस मूल्य को कॉम्बोबॉक्स में फिर से असाइन कर सकते हैं।

घटना के लिए पंजीकरण करें। आप इसे दो तरीकों से कर सकते हैं:

इसे डिज़ाइनर के माध्यम से करें। अपने कॉम्बो बॉक्स का चयन करें। "प्रॉपर्टी विंडो" में, अपनी सभी घटनाओं को दिखाने के लिए बिजली बोल्ट आइकन पर क्लिक करें। फिर "एंटर" ढूंढें, और बॉक्स में डबल-क्लिक करें। यह स्वचालित रूप से आपके लिए कॉलबैक फ़ंक्शन ("ईवेंट हैंडलर") उत्पन्न करेगा, और इसे ईवेंट तक तार देगा।

enter image description here

enter image description here

आप प्रोग्राम के एक ही बात कर सकते हैं। निर्माता में, सही हस्ताक्षर का एक ईवेंट हैंडलर ऊपर हुक:

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
     comboBox1.Enter += comboBox1_Enter; 
    } 

    private void comboBox1_Enter(object sender, EventArgs e) 
    { 
     m_cb1PrevVal = comboBox1.SelectedValue; 
    } 

    private void RestoreOldValue() 
    { 
     comboBox1.SelectedValue = m_cb1PrevVal; 
    } 
} 
+1

ठीक है, ओह, तो अंत में मैं कैसे प्रबंधित करने के लिए उन ... – smsware

+0

क्या प्रबंधन, वास्तव में जानने के लिए करना होगा? –

+0

घटनाओं, कभी भी उन्हें वास्तव में उपयोग नहीं किया ... वे डरावने लगते हैं :) – smsware

संबंधित मुद्दे