您的位置:首页 > 编程语言 > C#

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编译。

第五步:点击提交信息,如下图:



在调试运行中,在勾选“选择栏”信息时出现以下报错信息:



经过反复检查,发现是电脑系统的问题,换了台电脑就可以成功实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: