شما میتوانید مقادیری از انواع خواصی به اشیاء اضافه کنید. به طور مثال فرض کنید می خواهم گزینه هایی که پس از اجرا به لیست اضافه می شود دارای یک مقدار از نوع رشته به نام value باشد و هر بار که کاربر روی یکی از این گزینه های لیست کلیک می کند مقدار value مربوط به آن برگنداده شده و آن را در یک پیام نمایش دهد.

برای این کار لازم است اول از همه یک کلاس بسازید و متغیر ها را در آن تعریف کنید.

public class ListItem
{
     public string Value { get; set; }
     public string Text {get; set; }
     public override string ToString()
     {
          return Text;
     }
}

حالا برای اضافه کردن آن به لیست در شروع فرم از کد زیر استفاده می کنیم.

private void Form1_Load(object sender, EventArgs e)
{
    ListItem item1 = new ListItem();
    item1.Text = "Item1";
    item1.Value = "Item1 value";
    listBox.Items.Add(item1);
    ListItem item2 = new ListItem();
    item2.Text = "Item2";
    item2.Value = "something...";
    listBox.Items.Add(item2);
    ListItem item3 = new ListItem();
    item3.Text = "Item3";
    item3.Value = "Hello word!";
    listBox.Items.Add(item3);
}

حال در رخداد مربوط به تغییر گزینه ی لیست کد های زیر را بنویسید.

private void listBox_SelectedIndexChanged(object sender, EventArgs e)
{
    ListItem item = listBox.Items[listBox.SelectedIndex] as ListItem;
    MessageBox.Show(item.Value, item.Text+" value:");
}

حال پروژه را کامپایل کنید و آن را اجرا کنید.