Работа с контролами в объектно-ориентированной библиотеке классов Windows Forms на C# не представляет из себя ничего сложного, в отличие от старого процедурного Windows API.
Создать контрол ComboBox
, добавить его на форму и назначить обработичиков событий:
public ComboBox createComboBox(Point point) { ComboBox comboBox1 = new ComboBox(); comboBox1.FormattingEnabled = true; comboBox1.Location = new System.Drawing.Point(16, 51); comboBox1.Name = "comboBox1"; comboBox1.Size = new System.Drawing.Size(209, 21); this.Controls.Add(comboBox1); // добавить на форму comboBox1.BringToFront(); // поместить в самый верх z-индекса comboBox1.SelectedIndexChanged += new System.EventHandler(comboBox1_SelectedIndexChanged); // добавить обработчика события SelectedIndexChanged comboBox1.LostFocus += new System.EventHandler(comboBox1_LostFocus); // добавить обработчика события LostFocus return comboBox1; }
Обработчики событий:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { ComboBox comboBox1 = (ComboBox)sender; } private void comboBox1_LostFocus(object sender, EventArgs e) { ComboBox comboBox1 = (ComboBox)sender; }
Ну с добавлением и событиями всё понятно, а как удалить контрол? Удаление контрола, т.е. удаляем его из коллекции контролов формы:
this.Controls.Remove(comboBox1);
Поскольку данный код пишется в методе класса формы, this
ссылается на объект формы.
Вот так просто в работе с контролами в Windows Forms на C#.