सूचीबॉक्स और सदस्य संपत्ति के बीच सिंक में रखते हुए, एक सूची बॉक्स में एक शब्दकोश को बांधना संभव है?Winforms में ListBox में शब्दकोश को कैसे बाध्य करें
19
A
उत्तर
35
var choices = new Dictionary<string, string>();
choices["A"] = "Arthur";
choices["F"] = "Ford";
choices["T"] = "Trillian";
choices["Z"] = "Zaphod";
listBox1.DataSource = new BindingSource(choices, null);
listBox1.DisplayMember = "Value";
listBox1.ValueMember = "Key";
(बेशर्मी मेरे अपने ब्लॉग से उठा लिया। Bind a ComboBox to a generic Dictionary)
इसका मतलब है आप SelectedValue उपयोग कर सकते हैं ListBox में चयनित आइटम के लिए इसी शब्दकोश कुंजी की पकड़ पाने के लिए।
0
मुझे लगता है कि आप इसके लिए ईवेंट का उपयोग कर सकते हैं। जब भी ListBox में कुछ बदलता है, तो एक ईवेंट हैन्डलर विधि शब्दकोश से एक ही चीज़ जोड़/निकाल देगा।
0
label1.Text= listBox1.SelectedIndex.ToString();
if (listBox1.SelectedItem is KeyValuePair<int,DockStyle>)
{
var temp1 = (KeyValuePair<int, DockStyle>)listBox1.SelectedItem;
label3.Text = temp1.Key.ToString();
label4.Text = temp1.Value.ToString();
}
क्या वास्तव में वहां 'बाध्यकारी स्रोत' की आवश्यकता है? –
हाँ मेरे अनुभव में इसे बाध्यकारी स्रोत की आवश्यकता है। –
मैंने यह कोशिश की है, और यह आंशिक रूप से काम करता है, यानी यदि मैं ऐसा करता हूं, तो सूची बॉक्स के लिए डेटास्रोत सेट करने के बाद: विकल्प ["एम"] = "एबीसी"; विकल्प। हटाएं ("टी"); सूची बॉक्स विकल्प शब्दकोश में परिवर्तनों को प्रतिबिंबित नहीं करता है ... –