سلام
اول یک کلاس به نام (TestClass) تعریف میکنیم که شامل دو پراپرتی Display_ و Value_ هستش
class TestClass
{
private string _display;
private string _value;
public string _Display
{
get { return _display; }
set { _display = value; }
}
public string _Value
{
get { return _value; }
set { _value = value; }
}
public override string ToString()
{
return _Display;
}
}
حالا توسط یه متد (AddItems)، تعدادی آیتم آزمایشی داخل checkedListBox میریزیم
private void AddItems()
{
List<TestClass> lst = new List<TestClass>();
lst.Add(new TestClass() { _Display = "One", _Value = "1" });
lst.Add(new TestClass() { _Display = "Two", _Value = "2" });
lst.Add(new TestClass() { _Display = "Three", _Value = "3" });
lst.Add(new TestClass() { _Display = "Four", _Value = "4" });
lst.Add(new TestClass() { _Display = "Five", _Value = "5" });
((ListBox)checkedListBox1).DisplayMember = "_Display";
((ListBox)checkedListBox1).ValueMember = "_Value";
((ListBox)checkedListBox1).DataSource = lst;
}
و نهایتا با این متد (GetCheckedItems) ، آیتم های انتخاب شده رو درون یه لیست میریزیم
private void GetCheckedItems()
{
List<string> CheckValues = new List<string>();
foreach (Object c in checkedListBox1.CheckedItems)
{
CheckValues.Add(((TestClass)c)._Value);
}
}
اینجا چون من checkedListBox رو به دیتابیس بایند نکرده بودم ، برای داشتن DisplayMember و ValueMember مراحل 1 و 2 رو هم انجام دادم تا متوجه عملکرد کد بشید، بنابراین شما کافیه فقط مرحله سوم رو انجام بدید.
موفق باشید.