Выбор элемента в списке элементов ListBox
Чтобы в списке элементов выбрать какой-нибудь элемент, нужно щелкнуть на нем. Выбор элемента вызовет событие SelectedlndexChanged. Доступ к выбранному элементу можно получить с помощью свойств Selectedlndex и Selectedltem. Если никакой элемент не выбран, значение Selectedltem будет равно -1. Ниже приведен код обработчика события SelectedlndexChanged.
private void listHotels_Selected!ndexChanged(object sender, System.EventArgs e) { if (listHotels.Selectedlndex!= -1) { string selected – (string) listHotels.Selectedltem; // выбранная строка char [ ] sep = new char[] {','}; // символ string[] fields; // строка [] поля; fields = selected.Split(sep); // поля = выбранное, разбить; currHotel = new HotelListltem(); currHotel.City = fields[0]; // Город = поля [0]; currHotel.HotelName = fields[1]; // поля [1] currHotel.NumberRooms = Convert.Tolnt32(fields[2]); // поля [2] currHotel.Rate = Convert.ToDecimal(fields[3]); // поля [3] } else { currHotel.HotelName = ""; } }
Поскольку в списке элементов элементы хранятся в виде объектных ссылок, мы выполняем приведение типа выбранного элемента к типу string (Строка). Для того чтобы выделить значения полей, разделенные запятыми, используется метод String.Split (Строка.Разбиение), затем значения сохраняются в массиве строк fields (поля). Из массива эти значения переносятся в currHotel, где они и хранятся.
В предыдущем разделе мы использовали currHotel для инициализации диалоговых окон New Hotel (Новая гостиница) и Change Hotel Information (Изменение информации о гостинице).