Элемент ComboBox
Элемент ComboBox
Подобно ListBox, тип ComboBox (комбинированное окно) позволяет пользователю сделать выбор из вполне определенного набора возможностей. Однако тип ComboBox уникален в том, что пользователю также позволяется вставить дополнительные элементы. Напомним, что ComboBox получается из ListBox (а последний, в свою очередь, получается из Control). Для иллюстрации возможностей использования рассматриваемого элемента добавьте в форму приложения CarConfig еще один элемент управления, который позволит ввести имя продавца, с которым пользователь предпочитает иметь дело. Если имени нужного продавца в списке нет, пользователь может ввести соответствующее имя. Одна из возможных модификаций интерфейса показана на рис 21.12 (можете назначить продавцам такие имена, какие захотите).
Рис. 21.12. Тип ComboBox
Соответствующая модификация начинается с настройки самого ComboBox. Как видите, используемая здесь программная логика аналогична логике ListBox.
private void InitializeComponent() {
…
// comboSalesPerson
//
this.comboSalesPerson.Items.AddRange(new object[] {"Малышка Би-Би", "Дэн ' Машина'", "Джой Колесо", "Тимон Фара"});
…
this.Controls.Add(this.comboSalesPerson);
}
Модификация обработчика событий btnOrder_Click() снова оказывается очень простой.
private void btnOrder_Click(object sender, EventArgs e) {
// Построение строки для отображения информации.
string orderInfo = "";
// Использование свойства Text для имени продавца,
// указанного пользователем.
if (comboSalesPerson.Text != "") orderInfo += "Продавец: " + comboSalesPerson.Text + " ";
else orderInfo += "Вы не указали имя продавца!" + " ";
…
}