c# - DropDownList शैली में सी#कॉम्बो बॉक्स, मैं पाठ कैसे सेट करूं?




.net combobox (3)

मैं ड्रॉपडाउन लिस्ट शैली के साथ एक कॉम्बो बॉक्स का उपयोग करना चाहता हूं (एक ऐसा जो इसे एक बटन जैसा दिखता है, ताकि आप कोई मान न डालें) के लिए एक टेक्स्ट बॉक्स में मान डालें। मैं कोंबबोक्स को 'वाइल्डकार्ड्स' नामक एक टेक्स्ट लेबल रखना चाहता हूं और जैसा कि मैंने सूची से वाइल्डकार्ड का चयन किया है, वहीं चयनित मान टेक्स्ट बॉक्स में डाला जाता है और कंबोडिया पाठ 'वाइल्डकार्ड' रहता है। मेरी पहली समस्या यह है कि मैं एक पाठ मान सेट नहीं कर सकता जब कोंबबोक्स DropDownList शैली में है गुणों का उपयोग करना फूस का काम नहीं करता है, जब आप क्लिक करते हैं, तो टेक्स्ट वैल्यू को केवल साफ़ किया जाता है, comboBox.Text = "वाइल्डकार्ड"; form_load करने के लिए या तो काम नहीं करता है क्या कोई मदद कर सकता है?


आपके द्वारा निर्दिष्ट कोड:

comboBox.Text = "Wildcards";

...कार्य करना चाहिए। एकमात्र कारण यह नहीं होगा कि आप निर्दिष्ट टेक्स्ट कॉम्बो बॉक्स की आइटम सूची के भीतर एक आइटम नहीं है। DropDownList शैली का उपयोग करते समय, आप केवल उस सूची में पाठ सेट कर सकते हैं जो वास्तव में सूची में दिखाई देते हैं।

यदि ऐसा मामला है कि आप पाठ को वाइल्डकार्ड में सेट करने का प्रयास कर रहे हैं और उस आइटम को सूची में नहीं दिखाई देता है, और एक वैकल्पिक समाधान स्वीकार्य नहीं है, तो आपको कोड के साथ थोड़ा गंदे होना पड़ सकता है और एक आइटम को अस्थायी रूप से जोड़ना होगा ड्रॉप-डाउन सूची का विस्तार होने पर निकाल दिया जाता है।

उदाहरण के लिए, यदि आपके पास कुछ आइटम के साथ "कॉम्बो बॉक्स 1" नामक एक कोंबबोक्स वाला फ़ॉर्म है और "button1" नामक एक बटन है, तो आप ऐसा कुछ कर सकते हैं:

private void button1_Click(object sender, EventArgs e)
{
    if (!comboBox1.Items.Contains("Wildcards"))
    {
        comboBox1.Items.Add("Wildcards");
    }

    comboBox1.Text = "Wildcards";
}

private void comboBox1_DropDown(object sender, EventArgs e)
{
    if (comboBox1.Items.Contains("Wildcards"))
        comboBox1.Items.Remove("Wildcards");
}

यह बहुत तेज़ और गंदे है लेकिन ड्रॉपडाउनक्लाइज्ड ईवेंट को कैप्चर करके भी आप इसे थोड़ा साफ कर सकते हैं, "वाइल्डकार्ड" आइटम को आवश्यकतानुसार वापस जोड़ सकते हैं।


इसे इस्तेमाल करे

comboBox1.SelectedValue = "Wildcards";

आप फॉर्मलोड या फॉर्म कन्स्ट्रक्टर में से एक आइटम का चयन कर सकते हैं:

public MyForm()
{
    InitializeComponent();

    comboBox.SelectedIndex = 0;
}

या

private void MyForm_Load(object sender, EventArgs e)
{
    comboBox.SelectedIndex = 0;
}




combobox