Практическая работа C# listbox. ПЗ listbox. Практическое задние ListBox
![]()
|
Практическое задние: ListBox Элемент ListBox представляет собой простой список. Ключевым свойством этого элемента является свойство Items, которое как раз и хранит набор всех элементов списка. Элементы в список могут добавляться как во время разработки, так и программным способом. В Visual Studio в окне Properties (Свойства) для элемента ListBox мы можем найти свойство Items. После двойного щелчка на свойство нам отобразится окно для добавления элементов в список: ![]() ![]() В пустое поле мы вводим по одному элементу списка - по одному на каждой строке. После этого все добавленные нами элементы окажутся в списке, и мы сможем ими управлять: ![]() Программное управление элементами в ListBoxДобавление элементовИтак, все элементы списка входят в свойство Items, которое представляет собой коллекцию. Для добавления нового элемента в эту коллекцию, а значит и в список, надо использовать метод Add, например: listBox1.Items.Add("Новый элемент");. При использовании этого метода каждый добавляемый элемент добавляется в конец списка. Можно добавить сразу несколько элементов, например, массив. Для этого используется метод AddRange: string[] countries = { "Бразилия", "Аргентина", "Чили", "Уругвай", "Колумбия" }; listBox1.Items.AddRange(countries); Вставка элементовВ отличие от простого добавления вставка производится по определенному индексу списка с помощью метода Insert: listBox1.Items.Insert(1, "Парагвай"); В данном случае вставляем элемент на вторую позицию в списке, так как отсчет позиций начинается с нуля. Удаление элементовДля удаления элемента по его тексту используется метод Remove: listBox1.Items.Remove("Чили"); Чтобы удалить элемент по его индексу в списке, используется метод RemoveAt: listBox1.Items.RemoveAt(1); Кроме того, можно очистить сразу весь список, применив метод Clear: listBox1.Items.Clear(); Доступ к элементам спискаИспользуя индекс элемента, можно сам элемент в списке. Например, получим первый элемент списка: string firstElement = listBox1.Items[0]; Свойство Count возвращает количество элементов в списке: int number = listBox1.Items.Count; Выделение элементов спискаПри выделении элементов списка мы можем ими управлять как через индекс, так и через сам выделенный элемент. Получить выделенные элементы можно с помощью следующих свойств элемента ListBox: SelectedIndex: возвращает или устанавливает номер выделенного элемента списка. Если выделенные элементы отсутствуют, тогда свойство имеет значение -1 SelectedIndices: возвращает или устанавливает коллекцию выделенных элементов в виде набора их индексов SelectedItem: возвращает или устанавливает текст выделенного элемента SelectedItems: возвращает или устанавливает выделенные элементы в виде коллекции По умолчанию список поддерживает выделение одного элемента. Чтобы добавить возможность выделения нескольких элементов, надо установить у его свойства SelectionMode значение MultiSimple. Чтобы выделить элемент програмно, надо применить метод SetSelected(int index, bool value), где index - номер выделенного элемента. Если второй параметр - value имеет значение true, то элемент по указанному индексу выделяется, если false, то выделение наоборот скрывается: listBox1.SetSelected(2, true); // будет выделен третий элемент Чтобы снять выделение со всех выделенных элементов, используется метод ClearSelected. Событие SelectedIndexChangedИз всех событий элемента ListBox надо отметить в первую очередь событие SelectedIndexChanged, которое возникает при изменении выделенного элемента: public partial class Form1 : Form { public Form1() { InitializeComponent(); string[] countries = { "Бразилия", "Аргентина", "Чили", "Уругвай", "Колумбия" }; listBox1.Items.AddRange(countries); listBox1.SelectedIndexChanged += listBox1_SelectedIndexChanged; } void listBox1_SelectedIndexChanged(object sender, EventArgs e) { string selectedCountry = listBox1.SelectedItem.ToString(); MessageBox.Show(selectedCountry); } } В данном случае по выбору элемента списка будет отображаться сообщение с выделенным элементом. Задачи для самостоятельного выполнения1.Список группы. Составить программу, которая по нажатию на кнопку «Добавить в список» добавляет в список ListBox фамилию и имя, указанные в соответствующих Edit. Нажатие на кнопку «Удалить из списка» должно удалять из ListBox. Ход работы: Расположите компоненты на форме . ![]() В обработчик кнопки «Добавить с список» занесите следующий код: ListBox1.Items.Add(Edit1.Text+' '+Edit2.Text); Edit1.SetFocus; В обработчик кнопки «Удалить из списка»: ListBox1.Items.Delete(ListBox1.ItemIndex); В обработчик кнопки «Очистить список»: ListBox1.Items.Clear; Запустите программу и создайте список из нескольких человек. Проверьте кнопки «Удаление из списка», «Очистить список». 2. Справочник цветов. Создать программу, которая позволяет из списка ListBox выбирать название цвета. В результате выбора на экране должно появляться название цвета в формате RGB. Примерный вид запущенного приложения показан на рисунке. ![]()
3. Выбор подарка. После запуска программы пользователь может сформировать список подарков для друзей. Выбирать подарки можно из списка «Подарки», после выбора подарка он отображается во втором списке «Выбранные подарки». С помощью кнопки «Добавить» можно добавить название подарка, которого нет в списке «Подарки», а с помощью кнопки «Удалить» - удалить выделенный подарок из списка «Выбранные подарки». Для отображения списков использовать компоненты ListBox. Добавить возможность сохранения списков в текстовый файл и предусмотреть загрузку из него, для чего использовать методы ComboBox1.Items.SaveToFile(‘1.txt’) и ComboBox1.Items.LoadFromFile(‘1.txt’). 4.Тестпопрограммированию. Составить программу, проверяющую знания основные операторов. Выбрав в списке «Оператор» (ListBox1) значение, далее пользователь должен выбрать его название во втором списке (ListBox2). Если выбрано правильное название, то выводится сообщение «Правильно», если неправильное, то – «Ошибка». При правильном выборе название оператора должно удаляться в левом списке. Правильные названия должны искаться до тех пор, пока не будет получено соответствие всех операторов и их названий. ![]() 5.Проект «Стоимость заказа». Создайте программу, подсчитывающую стоимость заказа. Результат подсчета должен выводится на Panel. Подсказка: в обработчике события onClick компонента CheckListBox необходимо проверять все строки. Если строка выделена (стоит галочка), то нужно к общей стоимости прибавлять соответствующую сумму из ListBox. Для пробега по строкам использовать цикл For. ![]() |