Windows forms c combobox

Элемент ComboBox образует выпадающий список и совмещает функциональность компонентов ListBox и TextBox. Для хранения элементов списка в ComboBox также предназначено свойство Items .

Подобным образом, как и с ListBox, мы можем в окне свойств на свойство Items и нам отобразится окно для добавления элементов ComboBox:

И как и с компонентом ListBox, здесь мы также можем программно управлять элементами.

При добавлении с помощью методов Add / AddRange все новые элементы помещаются в конец списка. Однако если мы зададим у ComboBox свойство Sorted равным true , тогда при добавлении будет автоматически производиться сортировка.

Мы можем получить элемент по индексу и производить с ним разные действия. Например, изменить его:

Настройка оформления ComboBox

С помощью ряда свойств можно настроить стиль оформления компонента. Так, свойство DropDownWidth задает ширину выпадающего списка. С помощью свойства DropDownHeight можно установить высоту выпадающего списка.

Еще одно свойство MaxDropDownItems позволяет задать число видимых элементов списка — от 1 до 100. По умолчанию это число равно 8.

Другое свойство DropDownStyle задает стиль ComboBox. Оно может принимать три возможных значения:

Dropdown : используется по умолчанию. Мы можем открыть выпадающий список вариантов при вводе значения в текстовое поле или нажав на кнопку со стрелкой в правой части элемента, и нам отобразится собственно выпадающий список, в котором можно выбрать возможный вариант

DropdownList : чтобы открыть выпадающий список, надо нажать на кнопку со стрелкой в правой стороне элемента

Читайте также:  Couldn t compute fast cwd pointer

Simple : ComboBox представляет простое текстовое поле, в котором для перехода между элементами мы можем использовать клавиши клавиатуры вверх/вниз

Событие SelectedIndexChanged

Наиболее важным событием для ComboBox также является событие SelectedIndexChanged , позволяющее отследить выбор элемента в списке:

Здесь также свойство SelectedItem будет ссылаться на выбранный элемент.

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode

Как добавить в ComboBox пункты. Как использовать ComboBox

ComboBox – это элемент управления Windows Forms, который представляет собой поле со списком.

Однако при первым знакомстве с ним не все понимают, как добавить в ComboBox пункты.

Для этого в форме программы нужно выделить ComboBox, кликнув на него левой кнопкой мыши. В верхнем правом углу появится стрелка , при нажатии на которую вылезет вот такое окошечко:

Далее надо нажать на “Изменить элементы…”, откроется окно:

В него мы и записываем нужные нам пункты, а затем нажимаем “ОК”.

Теперь при запуске формы мы сможем выбрать в ComboBox’e нужный нам пункт.

Кроме того можно добавлять пункты в самом коде, используя свойство comboBox1.Items.Add().

В скобках мы пишем, какой пункт мы хотим добавить.

Например, можно это делать при загрузке формы, дважды щёлкнув на форму, чтобы перейти в нужный участок кода. Там мы для примера напишем:

Запускаем программу, и вот, что мы видим:

Теперь к нашим имеющимся (или вместо, если не хотите возиться в форме) добавились пункты, указанные в коде.

Читайте также:  Netadapter repair all in one на русском

Но как же нам теперь использовать их?

Доступ к пунктам СomboBox’a в коде можно получить, используя свойство comboBox1.SelectedIndex.

Индексы в СomboBox’e – это и есть пункты его списка, начинающиеся сверху. В C# индексы считаются с нуля, так что самый верхний пункт списка (у нас это vscode.ru) будет иметь индекс 0, ниже его – индекс 1, ещё ниже – индекс 2 и так далее.

Сейчас мы напишем кусочек кода, который покажет действие этого свойства. В данном коде при выборе элементов, чьи индексы написаны (0 и 1), в программе появляется MessageBox с сообщением. В форме мы дважды кликам на СomboBox, а затем пишем:

How can I fill a combobox from sql database ( students table with id, and name columns ) , the display text represents the name of a student and the value of the item of combobox is the id for that student that when I get the value of the combobox I will get the id value

2 Answers 2

Below are the important properties for you.

A data source can be a database, a Web service, or an object that can later be used to generate data-bound controls. When the DataSource property is set, the items collection cannot be modified.

A String specifying the name of an object property that is contained in the collection specified by the DataSource property. The default is an empty string ("").

A String representing the name of an object property that is contained in the collection specified by the DataSource property. The default is an empty string ("").

Here is one way if you want to add items programmatically.

Читайте также:  Bitmap image is not valid

There are various ways of doing this.

First off you need to figure out how you’re going to get the data back from the DB, but I’ll assume you either know that or intend to ask another question in regards to that. From there, your best bet is to bind some collection to the ComboBox . Here is an example of doing that with a DataSet . You can also bind to List or other IEnumerable , which would make more sense if you’re going to use LINQ to get at the data. Here is a question here on SO about binding a List to a ComboBox Perhaps you could tell us how you intend to get at the data so we could give you a more tailored answer?

Not the answer you’re looking for? Browse other questions tagged c# .net winforms combobox or ask your own question.

Linked

Related

Hot Network Questions

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

site design / logo © 2020 Stack Exchange Inc; user contributions licensed under cc by-sa 4.0 with attribution required. rev 2020.1.17.35809

Rate this post

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *