资源说明:在C# WinForm应用开发中,`ComboBox`和`ListBox`是两个常用的控件,用于显示和选择列表项。它们都是用来展示多个选项供用户选择,但有一些关键区别。本篇将详细介绍如何向这两个控件添加项以及设置默认选择项。
`ComboBox`控件结合了文本框和下拉列表的功能,用户可以直接输入文本或从下拉列表中选择一个项。而`ListBox`控件则只显示一个列表,用户只能从中选择。
在.NET Framework的C# WinForm环境中,`ComboBox`和`ListBox`的添加项方法有所不同。`ListBox`控件可以直接使用`Items`属性的`Add`方法来添加`string`类型的项,而`ComboBox`控件虽然也支持添加`string`,但有时我们需要在显示文本之外存储额外的信息,这时就需要自定义数据结构。
如代码所示,创建一个名为`ListItem`的类,包含两个属性:`ID`和`Name`,分别表示数据项的唯一标识和显示名称。重写`ToString()`方法返回`Name`,这样当`ComboBox`显示时会调用此方法显示内容。以下是如何使用这个类来填充`ComboBox`:
```csharp
ListItem listItem0 = new ListItem("0", "选项零");
ListItem listItem1 = new ListItem("1", "选项一");
ListItem listItem2 = new ListItem("2", "选项二");
comboBox1.Items.Add(listItem0);
comboBox1.Items.Add(listItem1);
comboBox1.Items.Add(listItem2);
```
设置默认选择项有两种方式:
1. 使用`SelectedIndex`属性,设置为0则选择第一个项:
```csharp
comboBox1.SelectedIndex = 0;
```
2. 或者使用`SelectedItem`属性,直接设置为要选择的`ListItem`对象:
```csharp
comboBox1.SelectedItem = listItem1;
```
与Web控件`DropDownList`相比,`ComboBox`没有内置的`ListItem`类,因此需要自定义类来实现类似的功能。在`MainFrm_Load`事件处理函数中,我们添加了三个`ListItem`对象,并设置了第一个为默认选择项。当用户点击“确定”按钮(`btnOk_Click`事件),程序会显示所选`ListItem`的`ID`和`Name`。
总结一下,C# WinForm中的`ComboBox`和`ListBox`添加项和设置默认选择项的关键在于理解控件的特性和数据绑定方式。对于`ComboBox`,尤其是需要存储额外信息时,可以通过自定义类来实现。同时,设置默认选择项可以通过调整`SelectedIndex`或直接设置`SelectedItem`。熟悉这些操作对WinForm开发来说至关重要,能帮助开发者更高效地构建用户界面。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。