在Windows窗体中,ComboBox在单个控件中提供了两种不同的功能,这意味着ComboBox既可以用作TextBox也可以用作ListBox。在ComboBox中,一次仅显示一个项目,其余项目显示在下拉菜单中。您可以使用DropDownStyle属性在ComboBox中设置下拉列表的样式。此属性的值由ComboBoxStyle枚举提供,值是:
- 简单:采用这种样式,列表可见,文本可以编辑。
- DropDown:在这种样式中,当您单击下拉箭头时,该列表可见,并且该列表是可编辑的。
- DropDownList:在这种样式中,单击下拉箭头时该列表可见,并且该列表不可编辑。
此属性的默认值为DropDown。您可以使用两种不同的方法来设置此属性:
1.设计时:使用以下步骤设置ComboBox控件的DropDownStyle属性是最简单的方法:
- 第1步:创建一个Windows窗体,如下图所示:
Visual Studio->文件->新建->项目-> WindowsFormApp - 步骤2:从工具箱中拖动ComboBox控件,并将其放在Windows窗体上。您可以根据需要将ComboBox控件放置在Windows窗体上的任何位置。
- 步骤3:拖放后,您将转到ComboBox控件的属性来设置ComboBox的DropDownStyle属性。
输出:
2.运行时:比上述方法有些棘手。在这种方法中,您可以借助给定的语法以编程方式在ComboBox中设置下拉列表的样式:
public System.Windows.Forms.ComboBoxStyle DropDownStyle { get; set; }
在这里,样式值由ComboBoxStyle提供。如果分配给此属性的值不属于ComboBoxStyle,它将抛出InvalidEnumArgumentException。以下步骤用于设置ComboBox元素的DropDownStyle属性:
- 步骤1:使用ComboBox类提供的ComboBox()构造函数创建一个组合框。
// Creating ComboBox using ComboBox class ComboBox mybox = new ComboBox();
- 步骤2:创建ComboBox之后,设置ComboBox类提供的ComboBox的DropDownStyle属性。
// Set DropDownStyle property of the combobox mybox.DropDownStyle = ComboBoxStyle.DropDown;
- 步骤3:最后使用Add()方法将此组合框控件添加到窗体中。
// Add this ComboBox to form this.Controls.Add(mybox);
例子:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp14 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { // Creating and setting the properties of label Label l = new Label(); l.Location = new Point(222, 80); l.Size = new Size(99, 18); l.Text = "Select Id"; // Adding this label to the form this.Controls.Add(l); // Creating and setting the properties of comboBox ComboBox mybox = new ComboBox(); mybox.Location = new Point(327, 77); mybox.Size = new Size(216, 26); mybox.MaxLength = 3; mybox.DropDownStyle = ComboBoxStyle.DropDown; mybox.Items.Add(240); mybox.Items.Add(241); mybox.Items.Add(242); mybox.Items.Add(243); mybox.Items.Add(244); // Adding this ComboBox to the form this.Controls.Add(mybox); } } }
输出: