আপনি যেমন একটি কম্বোবক্সের উল্লেখ করছেন, আমি ধরে নিচ্ছি যে আপনি দ্বি-ওয়ে ডেটাবাইন্ডিং ব্যবহার করতে চান না (যদি তা হয় তবে এটি ব্যবহার করে দেখুন BindingList
)
public class Country
{
public string Name { get; set; }
public IList<City> Cities { get; set; }
public Country(string _name)
{
Cities = new List<City>();
Name = _name;
}
}
List<Country> countries = new List<Country> { new Country("UK"),
new Country("Australia"),
new Country("France") };
var bindingSource1 = new BindingSource();
bindingSource1.DataSource = countries;
comboBox1.DataSource = bindingSource1.DataSource;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Name";
দেশ আবদ্ধ কম্বো নির্বাচিত এটি করার জন্য, আপনি ভালো কিছু করতে চাই: Country country = (Country)comboBox1.SelectedItem;
।
আপনি যদি কম্বোবক্সকে ডায়নামিকভাবে আপডেট করতে চান তবে আপনাকে নিশ্চিত করতে হবে যে আপনি যে ডেটা স্ট্রাকচারটি DataSource
প্রয়োগ হিসাবে সেট করেছেন IBindingList
; যেমন একটি কাঠামো হয় BindingList<T>
।
টিপ: নিশ্চিত করুন যে আপনি DisplayMember
শ্রেণিতে কোনও সম্পত্তির সাথে বাধ্যবাধকতা বজায় রেখেছেন এবং কোনও সরকারী ক্ষেত্র নয়। আপনি যদি শ্রেণিটি ব্যবহার করেন public string Name { get; set; }
এটি কাজ করবে তবে এটি যদি ব্যবহার public string Name;
করে তবে মানটি অ্যাক্সেস করতে সক্ষম হবে না এবং পরিবর্তে কম্বো বাক্সের প্রতিটি লাইনের জন্য অবজেক্টের ধরণটি প্রদর্শন করবে।