Элемент 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 += "Вы не указали имя продавца!" + " ";

 …

}