Visual C#2010学习笔记四之列表选择控件的使用
2015-08-10 17:16
447 查看
Windows窗体中列表选择控件主要包括:ListBox控件,CheckListBox控件,ComboBox控件。
ListBox控件:用于显示一项列表,可以选一项或多项。
ListBox控件:显示项的列表,与ListBox类似,同时还可以在列表中项的旁边选中标记。
ComboBox控件:用于在下拉组合框中显示数据。
另外,再补充两个控件:ListView控件、TreeView控件。
ListView控件:用于显示带图标的项的列表。
TreeView控件:可以显示节点层次结构,就像在Windows操作系统的Windows资源管理器功能的左窗格中显示文件和文件夹一样。
例题:创建一个窗体应用程序,分别使用ListBox控件,CheckListBox控件和ComboBox控件,ComboBox控件出现“姓名、编号、评分”三个下拉框选项;各个下拉框的内容在CheckListBox控件中显示并且可以选择;选择后的内容通过button键提交到ListBox控件上显示。如下图:
实现步骤:
第一步:创建Windows窗体应用程序项目,分别将1个ListBox控件,1个CheckListBox控件,1个ComboBox控件,1个button控件,3个Lable控件拖到Form1中,并实现如上图布局。
第二步:将ListBox控件、CheckListBox控件、ComboBox控件、Lable控件和button控件的Text属性设置成如图所示。修改ComboBox控件中Item的属性框右侧省略号按钮,在“字符串集合编辑器”中添加:姓名、编号、评价,这3项。然后将ListBox控件的SelectionMode属性设置为“MultiExtended”。
第三步:在源文件Form1.cs中编辑如下程序:
namespace 列表选择控件
{
public partial class Form1 : Form
{
private string[] names; //定义三个私有数组,分别为姓名、编号、评价
private string[] nums;
private string[] mark;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
names = new string[] { "老周", "老张", "老刘", "老范", "老王" }; //姓名
nums = new string[] { "10001", "10002", "10003", "10004", "10005" }; //编号
mark = new string[] { "非常优秀", "优秀", "良好", "合格", "不合格" }; //评价
this.checkedListBox1.Items.AddRange(names); //将数组names数据添加到checkedListBox1“选择栏”中
this.comboBox1.SelectedIndex = 0; //定义打开软件时初显第1个下拉框的信息,即:names姓名信息
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
ComboBox cd = (ComboBox)sender; //定义选择comboBox1“信息栏”中的选项,【0,1,2】等于comboBox1-SelectedIndex中[姓名,编号,评价],并将选择的值赋予cd
switch (cd.SelectedIndex) //选择:姓名、编号、评价,相应栏,在checkedListBox1“选择栏”出现相应的信息。
{
case 0:
this.checkedListBox1.Items.Clear();
this.checkedListBox1.Items.AddRange(names);
break;
case 1:
this.checkedListBox1.Items.Clear();
this.checkedListBox1.Items.AddRange(nums);
break;
case 2:
this.checkedListBox1.Items.Clear();
this.checkedListBox1.Items.AddRange(mark);
break;
}
this.listBox1.Items.Clear(); //清空listBox1“显示栏”中显示的内容。
}
private void button1_Click(object sender, EventArgs e)
{
int count = this.checkedListBox1.CheckedItems.Count;
if (this.checkedListBox1.Items.Count == 0) //当只选择一个下拉框里的信息时,正常返回。
{
return; //一个方法中也可以出现多个return,但只有一个会执行。当return语句后面什么都不加时,返回的类型为void。
}
if (this.checkedListBox1.Items.Count == -1) //当一个下拉框里的内容都没选,提示用户选择。
{
MessageBox.Show("请在\"选择栏\"中选择要添加的项。");
return;
}
for (int i = 0; i < count; i++) //在listBox1显示栏显示checkedListBox1选择栏中被选中的内容。
{
this.listBox1.Items.Add(this.checkedListBox1.CheckedItems[i]);
}
MessageBox.Show("选定的项已被移到\"显示栏\"中");
}
}
}
第四步:点击保存,按F6保存,F5编译。
第五步:点击提交信息,如下图:
在调试运行中,在勾选“选择栏”信息时出现以下报错信息:
经过反复检查,发现是电脑系统的问题,换了台电脑就可以成功实现。
ListBox控件:用于显示一项列表,可以选一项或多项。
ListBox控件:显示项的列表,与ListBox类似,同时还可以在列表中项的旁边选中标记。
ComboBox控件:用于在下拉组合框中显示数据。
另外,再补充两个控件:ListView控件、TreeView控件。
ListView控件:用于显示带图标的项的列表。
TreeView控件:可以显示节点层次结构,就像在Windows操作系统的Windows资源管理器功能的左窗格中显示文件和文件夹一样。
例题:创建一个窗体应用程序,分别使用ListBox控件,CheckListBox控件和ComboBox控件,ComboBox控件出现“姓名、编号、评分”三个下拉框选项;各个下拉框的内容在CheckListBox控件中显示并且可以选择;选择后的内容通过button键提交到ListBox控件上显示。如下图:
实现步骤:
第一步:创建Windows窗体应用程序项目,分别将1个ListBox控件,1个CheckListBox控件,1个ComboBox控件,1个button控件,3个Lable控件拖到Form1中,并实现如上图布局。
第二步:将ListBox控件、CheckListBox控件、ComboBox控件、Lable控件和button控件的Text属性设置成如图所示。修改ComboBox控件中Item的属性框右侧省略号按钮,在“字符串集合编辑器”中添加:姓名、编号、评价,这3项。然后将ListBox控件的SelectionMode属性设置为“MultiExtended”。
第三步:在源文件Form1.cs中编辑如下程序:
namespace 列表选择控件
{
public partial class Form1 : Form
{
private string[] names; //定义三个私有数组,分别为姓名、编号、评价
private string[] nums;
private string[] mark;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
names = new string[] { "老周", "老张", "老刘", "老范", "老王" }; //姓名
nums = new string[] { "10001", "10002", "10003", "10004", "10005" }; //编号
mark = new string[] { "非常优秀", "优秀", "良好", "合格", "不合格" }; //评价
this.checkedListBox1.Items.AddRange(names); //将数组names数据添加到checkedListBox1“选择栏”中
this.comboBox1.SelectedIndex = 0; //定义打开软件时初显第1个下拉框的信息,即:names姓名信息
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
ComboBox cd = (ComboBox)sender; //定义选择comboBox1“信息栏”中的选项,【0,1,2】等于comboBox1-SelectedIndex中[姓名,编号,评价],并将选择的值赋予cd
switch (cd.SelectedIndex) //选择:姓名、编号、评价,相应栏,在checkedListBox1“选择栏”出现相应的信息。
{
case 0:
this.checkedListBox1.Items.Clear();
this.checkedListBox1.Items.AddRange(names);
break;
case 1:
this.checkedListBox1.Items.Clear();
this.checkedListBox1.Items.AddRange(nums);
break;
case 2:
this.checkedListBox1.Items.Clear();
this.checkedListBox1.Items.AddRange(mark);
break;
}
this.listBox1.Items.Clear(); //清空listBox1“显示栏”中显示的内容。
}
private void button1_Click(object sender, EventArgs e)
{
int count = this.checkedListBox1.CheckedItems.Count;
if (this.checkedListBox1.Items.Count == 0) //当只选择一个下拉框里的信息时,正常返回。
{
return; //一个方法中也可以出现多个return,但只有一个会执行。当return语句后面什么都不加时,返回的类型为void。
}
if (this.checkedListBox1.Items.Count == -1) //当一个下拉框里的内容都没选,提示用户选择。
{
MessageBox.Show("请在\"选择栏\"中选择要添加的项。");
return;
}
for (int i = 0; i < count; i++) //在listBox1显示栏显示checkedListBox1选择栏中被选中的内容。
{
this.listBox1.Items.Add(this.checkedListBox1.CheckedItems[i]);
}
MessageBox.Show("选定的项已被移到\"显示栏\"中");
}
}
}
第四步:点击保存,按F6保存,F5编译。
第五步:点击提交信息,如下图:
在调试运行中,在勾选“选择栏”信息时出现以下报错信息:
经过反复检查,发现是电脑系统的问题,换了台电脑就可以成功实现。
相关文章推荐
- C#反射(Reflection)的应用
- C#实现创建,删除,查找,配置虚拟目录实例详解
- C#一些实用的,容易被遗忘的特性,经验和技巧
- C#简单创建和删除目录的方法
- C# 关键字
- C# Word控件 文档保护
- C# 操作NPOI导入导出
- C#设置Cookies .
- C# Dictionary(字典)的键、值排序
- C# 注释(Comment)规范
- C#语言 -- 类型转换
- C#实现向已存在的Excel文件中写入数据实例(两种方法)
- C# 最小化窗口截图 句柄 调用截图 黑屏原因
- c# 委托
- 彻底理解C#中值类型和引用类型的区别
- WinForm容器内控件批量效验是否允许为空?设置是否只读?设置是否可用等方法分享
- WinForm容器内控件批量效验是否允许为空?设置是否只读?设置是否可用等方法分享
- C# 合并DLL, 合并DLL进入EXE 【转】
- 快速上手之 C#操作WORD对象模型
- Word模板生成C#源码