Ну, это зависит от того, чего вы хотите добиться от выбранного элемента списка.
Есть несколько возможных способов, позвольте мне попытаться объяснить некоторые из них для вашего домашнего задания.
Предположим, у вас есть таблица данных с двумя столбцами и их строками...
ID Title
_________________________
1 First item's title
2 Second item's title
3 Third item's title
И вы привязываете эту таблицу данных к своему списку как,
ListBox1.DisplayMember = "ID";
ListBox1.ValueMember = "Title";
Если пользователь выбирает второй элемент из списка.
Теперь, если вы хотите получить отображаемое значение (название) выбранного элемента, вы можете сделать
string displayValue = ListBox1.Text; // displayValue = Second item's title
ИЛИ даже это, чтобы получить те же результаты.
// displayValue = Second item's title
string displayValue = ListBox1.SelectedItem.ToString();
И чтобы получить элемент значения для выбранного элемента, вам нужно сделать
string selectedValue = ListBox1.SelectedValue; // selectedValue = 2
Теперь есть ситуации, когда вы хотите разрешить пользователю выбирать более одного элемента из списка, поэтому вы затем устанавливаете
ListBox1.SelectionMode = SelectionMode.MultiSimple;
OR
ListBox1.SelectionMode = SelectionMode.MultiExtended;
Теперь предположим, что пользователь выбирает два элемента; второе и третье.
Таким образом, вы можете получить отображаемые значения, просто перебирая SelectedItems
string displayValues = string.Empty;
foreach (object selection in ListBox1.SelectedItems)
{
displayValues += selection.ToString() + ",";
}
// so displayValues = Second item's title, Third item's title,
И если вы хотите получить ID's
вместо Title's
, тогда...
Тоже ищу, если найду, отпишусь.
Я надеюсь, что ваше понимание укрепляется.
Удачи!
person
Waqas Raja
schedule
03.04.2011