Шаг 1. Создайте класс для хранения имени и идентификатора с переопределением ToString (), которое возвращает имя
public class UrlInfo
{
public string Name;
public int Id;
public bool Enabled;
public override string ToString()
{
return this.Name;
}
}
Шаг 2. Добавьте экземпляры этого класса в свой CheckedListBox
UrlInfo u1 = new UrlInfo { Name = "test 1", Id = 1, Enabled = false };
UrlInfo u2 = new UrlInfo { Name = "test 2", Id = 2, Enabled = true };
UrlInfo u3 = new UrlInfo { Name = "test 3", Id = 3, Enabled = false };
checkedListBox1.Items.Add(u1, u1.Enabled);
checkedListBox1.Items.Add(u2, u2.Enabled);
checkedListBox1.Items.Add(u3, u3.Enabled);
Шаг 3. Приведите SelectedItem к UrlInfo и получите .Id
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
UrlInfo urlInfo = checkedListBox1.Items[e.Index] as UrlInfo;
if (null != urlInfo)
{
urlInfo.Enabled = e.NewValue == CheckState.Checked;
Console.WriteLine("The item's ID is " + urlInfo.Id);
}
}