【20】C# 窗体应用WinForm ——下拉列表框ComboBox属性、方法、实例应用
文章目录
- 11. 下拉列表框ComboBox
- 11.1 实例:实现一个选择专业系统
-
WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,是 C# 语言中的一个重要应用。
-
.NET 提供了大量 Windows 风格的控件和事件,可以直接拿来使用。
11. 下拉列表框ComboBox
下拉列表框ComboBox也称组合框,用于选择所需的选项。使用组合框可以有效地避免非法值的输入。在组合框中常用的事件是改变组合框中的值时发生的,即组合框中的选项改变事件 SelectedlndexChanged
。
在组合框中常用的属性如下表所示:
属性名 | 作用 |
---|---|
DropDownStyle | 获取或设置组合框的外观,如果值为 Simple,同时显示文本框和列表框,并且文本框可以编辑;如果值为 DropDown,则只显示文本框,通过鼠标或键盘的单击事件展开文本框,并且文本框可以编辑;如果值为 DropDownList,显示效果与 DropDown 值一样,但文本框不可编辑。默认情况下为 DropDown |
Items | 获取或设置组合框中的值 |
Text | 获取或设置组合框中显示的文本 |
MaxDropDownltems | 获取或设置组合框中最多显示的项数 |
Sorted | 指定是否对组合框列表中的项进行排序,如果值为 True,则排序, 如果值为 False,则不排序。默认情况下为 False |
例程:
ComboBox1.Items.Clear();// 清空
ComboBox1.Items.AddRange(System.IO.Ports.SerialPort.GetPortNames());// 添加多个内容
ComboBox1.SelectedIndex = 0;// 设定当前选定项的索引MessageBox.Show("您选择了 " + comboBox1.SelectedItem.ToString() + "。");
11.1 实例:实现一个选择专业系统
Form1中添加 1个ComboBox、2个Label、1个textBox、2个Button;修改属性
右键ComboBox->事件->SelectedlndexChanged
在改变事件函数中添加代码
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){//当组合框中选择的值发生变化时弹出消息框显示当前组合框中选择的值MessageBox.Show("您选择的专业是:" + comboBox1.Text, "提示");}
完整代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace WinFormTest
{public partial class Form1 : Form{public Form1()// 修改窗体初始化函数{InitializeComponent();comboBox1.Items.Add("计算机应用");comboBox1.Items.Add("英语");comboBox1.Items.Add("会计");comboBox1.Items.Add("软件工程");comboBox1.Items.Add("网络工程");}private void add_Click(object sender, EventArgs e)//添加{//判断文本框中是否为空,不为空则将其添加到组合框中if (textBox1.Text != ""){//判断文本框中的值是否与组合框中的的值重复if (comboBox1.Items.Contains(textBox1.Text)){MessageBox.Show("该专业已存在!");}else{comboBox1.Items.Add(textBox1.Text);}}else{MessageBox.Show("请输入专业!", "提示");}}private void Del_Click(object sender, EventArgs e)//删除{//判断文本框是否为空if (textBox1.Text != ""){//判断组合框中是否存在文本框中输入的值if (comboBox1.Items.Contains(textBox1.Text)){comboBox1.Items.Remove(textBox1.Text);}else{MessageBox.Show("您输入的专业不存在", "提示");}}else{MessageBox.Show("请输入要删除的专业", "提示");}}private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){//当组合框中选择的值发生变化时弹出消息框显示当前组合框中选择的值MessageBox.Show("您选择的专业是:" + comboBox1.Text, "提示");}}
}
运行测试
初始有五们专业
删除:会计
添加:人工智能