Как добавить в combobox данные c
Перейти к содержимому

Как добавить в combobox данные c

  • автор:

Практическое руководство. Добавление и удаление элементов, отображаемых в элементах управления ComboBox, ListBox и CheckedListBox в Windows Forms

Элементы в поле со списком, список или список с флажками Windows Forms можно добавлять различными способами, так как эти элементы управления могут быть привязаны к самым разным источникам данных. В этом разделе демонстрируется самый простой метод, не требующий привязки данных. Чаще всего в качестве отображаемых элементов выступают строки, однако при необходимости можно использовать любой объект. Текст, отображаемый в элементе управления, представляет собой значение, возвращаемое методом ToString объекта.

Добавление элементов

  1. Чтобы добавить строку или объект в список, используйте метод Add класса ObjectCollection . Ссылка на коллекцию задается с помощью свойства Items :
ComboBox1.Items.Add("Tokyo") 
comboBox1.Items.Add("Tokyo"); 
comboBox1->Items->Add("Tokyo"); 
CheckedListBox1.Items.Insert(0, "Copenhagen") 
checkedListBox1.Items.Insert(0, "Copenhagen"); 
checkedListBox1->Items->Insert(0, "Copenhagen"); 
Dim ItemObject(9) As System.Object Dim i As Integer For i = 0 To 9 ItemObject(i) = "Item" & i Next i ListBox1.Items.AddRange(ItemObject) 
System.Object[] ItemObject = new System.Object[10]; for (int i = 0; i listBox1.Items.AddRange(ItemObject); 
Array^ ItemObject = gcnew Array(10); for (int i = 0; i listBox1->Items->AddRange(ItemObject); 

Удаление элемента

  1. Для удаления элементов вызовите метод Remove или RemoveAt . Метод Remove имеет один аргумент, который указывает удаляемый элемент.Метод RemoveAt удаляет элемент с указанным индексом.
' To remove item with index 0: ComboBox1.Items.RemoveAt(0) ' To remove currently selected item: ComboBox1.Items.Remove(ComboBox1.SelectedItem) ' To remove "Tokyo" item: ComboBox1.Items.Remove("Tokyo") 
// To remove item with index 0: comboBox1.Items.RemoveAt(0); // To remove currently selected item: comboBox1.Items.Remove(comboBox1.SelectedItem); // To remove "Tokyo" item: comboBox1.Items.Remove("Tokyo"); 
// To remove item with index 0: comboBox1->Items->RemoveAt(0); // To remove currently selected item: comboBox1->Items->Remove(comboBox1->SelectedItem); // To remove "Tokyo" item: comboBox1->Items->Remove("Tokyo"); 

Удаление всех элементов

  1. Чтобы удалить все элементы из коллекции, вызовите метод Clear :
ListBox1.Items.Clear() 
listBox1.Items.Clear(); 
listBox1->Items->Clear(); 

См. также

  • ComboBox
  • ListBox
  • CheckedListBox
  • Практическое руководство. Сортировка содержимого элемента управления ComboBox, ListBox или CheckedListBox в Windows Forms
  • Применение элемента управления ComboBox вместо элемента управления ListBox в Windows Forms
  • Создание списка для выбора элементов в Windows Forms

c# combobox Items добавить в базу данных

Есть ComboBox значения (student, teacher, magister). В базе данных MySQL есть под такими же именами колонки student, teacher, magister. Теперь при выборе teacher нужно добавлять данные в колонку teacher. Помогите пожалуйста как это сделать? У меня все параметры добавляются только в одну колонку.

private void Addbutton_Click(object sender, EventArgs e) < try < string query = "insert into sta(student, teacher, magister) Values (@student, @teacher, @magister)"; this.dataGridView1.DataSource = AutoNumberedTable(dt); con.Open(); MySqlCommand cmd = new MySqlCommand(query, con); cmd.Parameters.Add("@student", MySqlDbType.VarChar, 20).Value = comboBox4.Items; cmd.Parameters.Add("@teacher", MySqlDbType.VarChar, 20).Value = comboBox4.Items; cmd.Parameters.Add("@magister", MySqlDbType.VarChar, 20).Value = comboBox4.Items; if (cmd.ExecuteNonQuery() == 1) < MessageBox.Show("Added"); >con.Close(); spisok(); > catch (Exception ex) < MessageBox.Show(ex.Message, "Error!"); con.Close(); >> 

Отслеживать
задан 29 дек 2021 в 12:16
77 7 7 бронзовых знаков
вставьте пожалуйста код текстом.
29 дек 2021 в 13:33
исправил, взгляните пожалуйста
29 дек 2021 в 13:40

comboBox4.Items — это же коллекция, что именно вы хотите добавить в базу? Быть может comboBox4.SelectedValue ? Нужно больше подробностей.

29 дек 2021 в 13:52

у меня в базе данных есть 3 колонки под именем student, teacher,magister , я хочу в comboBox4 коллекциях выбрать teacher или magister или student и соответственно добавить в базу данных

29 дек 2021 в 13:55

я в комбобокс коллекцию добавил 3 параметра . пользователь выбирает student добавляет в базу и этот параметр должен добавляется в колонку student , выбирал teacher добавил должен добавляется в колонку teacher.

Как добавить в combobox данные c

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

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

Добавление элементов в ComboBox

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

// добавляем один элемент comboBox1.Items.Add("Парагвай"); // добавляем набор элементов comboBox1.Items.AddRange(new string[] < "Уругвай", "Эквадор" >); // добавляем один элемент на определенную позицию comboBox1.Items.Insert(1, "Боливия");

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

// удаляем один элемент comboBox1.Items.Remove("Аргентина"); // удаляем элемент по индексу comboBox1.Items.RemoveAt(1); // удаляем все элементы comboBox1.Items.Clear();

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

comboBox1.Items[0] = "Парагвай";

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

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

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

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

Элемент ComboBox в Windows Forms

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

Событие SelectedIndexChanged

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

public partial class Form1 : Form < public Form1() < InitializeComponent(); comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged; >void comboBox1_SelectedIndexChanged(object sender, EventArgs e) < string selectedState = comboBox1.SelectedItem.ToString(); MessageBox.Show(selectedState); >>

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

C#: ComboBox и ListBox добавление элементов с определением значения и текста

Блог доброго программиста

Сегодня я решил сделать небольшую заметку о том как добавить в элементы управления формы ComboBox, ListBox и другие схожие, значения в связке (значение — отображаемый текст), как это выглядит, например, в HTML…

Для тех кто не совсем понял о чем идет речь, поясню на примере HTML и элемента управления select. Например у нам нужно сделать список с текстом «Раз», «Два», «Три». При этом работая со списком мы хотим работать не со словами, а с числами. Тогда наш select будет выглядеть так:

  

Таким образом, выбираем «Два», но значение элемента равно «2». Теперь перенесем данную задачу на язык программирования C#. У многих программистов в данном случае возникает небольшой ступор, так как элементы управления ComboBox и ListBox в методе добавления элементов в список принимают только один параметр, который является и значением, и отображаемым текстом. Однако в большинстве случаев, нам нужно разделять текст и значения.
Принцип работы с элементами управления формы типа ComboBox и ListBox похожи, поэтому рассмотрим пример только для ComboBox. Добавим элемент на форму, и в методе загрузки формы пропишем:

private void Form1_Load(object sender, EventArgs e)

Если запустить проект, то мы увидим сообщение «Два», затем откроется форма с выпадающем списком и значениями «раз», «два», «три».
Теперь сделаем так, чтобы при запуске программы, нам показывалось сообщение с цифрой два, при этом внешний вид списка не изменился.
Для этого сначала придется создать новый класс (или структуру). В которой мы будем хранить нужные данные, а именно пару (значение — отображаемый текст):

class SelectData < public readonly int Value; public readonly string Text; public SelectData(int Value, string Text) < this.Value = Value; this.Text = Text; >public override string ToString() < return this.Text; >>

В целом класс примитивен, а ключевую роль играет перегруженный метод ToString(), который определяет как будет отображаться переменная нашего класса при попытке преобразовать ее в строку. Как видно из примера, в данном случае наша переменная превращается в значение атрибута Text.
Атрибут Items элемента СomboBox таков, что в качестве параметра метода Add получает объект, а объект — это база для всего, поэтому наш класс SelectData спокойно подойдет. Прорисовка элементов списка Items на форме, такова, что каждый объект, переводится в строку (тут как раз и работает метод ToString).
Имеем:

private void Form1_Load(object sender, EventArgs e) < this.comboBox1.Items.Add(new SelectData(1, "Раз")); this.comboBox1.Items.Add(new SelectData(2, "Два")); this.comboBox1.Items.Add(new SelectData(3, "Три")); this.comboBox1.SelectedIndex = 1; //this.comboBox1.SelectedItem - это объект, программа не знает что это за объект, поэтому нам нужно //явно указать что это объект класса SelectData, а дальше работать с ним как с классом int selectedValue = ((SelectData)this.comboBox1.SelectedItem).Value; MessageBox.Show(selectedValue.ToString()); >

Вот и все. Теперь при запуске программы мы увидим сообщение с цифрой 2. Хранить в списках можно и более тяжелые сложные объекты, все зависит от Вашей фантазии и конкретной задачи.

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

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