ListBox控件可以一次呈现多个项,并且语序对控件中的选项进行选择操作,ListBox类公开Items属性,它是一个集合,类型为ListBox.ObjectCollection,是ListBox的一个嵌套类,该类实现了IList接口,可以调用Add方法向列表中添加新的项。ObjectCollection类提供了一个AddRange方法,允许一次性添加多个项。
通过设置ListBox控件的SelectionMode属性可以控制ListBox的选择行为,它是一个枚举值
枚举值 说明
None 如果设置该值,则无法选择项
One 每次只能选择一项
MultiSimple 可以选择多项,第一次单击某项时将其选中,再次单击就可以取消选择
MultiExtended 多选,可以使用(Ctrl)和(Shift)等控制键来辅助操作
1、绘制如下窗口(白色框使用ListBox控件)
2、在ListBox添加文字
4、添加RadioButton控件(Text属性一定要一样,要不然没有办法通过RadioButton按钮的Text中获取对应的值)
5、给RadioButton添加点击共享事件
6、编辑代码
private void OnRaidoButtonCheckChange(object sender, EventArgs e)
{
if (this.listBox1 == null)
return;
RadioButton rdbutton = sender as RadioButton;
if (rdbutton.Checked)
{
string txt = rdbutton.Text;//获取RadioButton text字符
//在枚举数据类型中,调用Enum.Parse方法可以根据提供的枚举值的名字转换为枚举值
//并将转换的枚举值赋值给ListBox1.SelectionMode
listBox1.SelectionMode = (SelectionMode)Enum.Parse(typeof(SelectionMode), txt);
}//代码效果参考:http://www.ezhiqi.com/zx/art_7770.html
}
LIstBox控件有个Items属性,可以通过自己编写代码向ListBox中添加列表选项。
private void btnAddItem_Click(object sender, EventArgs e)
{
//判断TextBox中的文本是否为空
if (string.IsNullOrWhiteSpace(txtInput.Text))
{
return;
}
//添加文本之前先判断是否重复
// 摘要:
// 找到的第一项 System.Windows.Forms.ListBox 以指定字符串开头。
//
// 参数:
// s:
// 要搜索的文本。
//
// 返回结果:
// 找到的第一项的从零开始的索引返回 ListBox.NoMatches 如果不找到任何匹配项。
//
// 异常:
// T:System.ArgumentOutOfRangeException:
// 值 s 参数小于-1 或大于或等于项的计数。
if (listBox1.FindString(txtInput.Text) != ListBox.NoMatches)
{
MessageBox.Show("此项已经存在");
return;
}//代码效果参考:http://www.ezhiqi.com/bx/art_3911.html
//将文本框中文本加入到ListBox的列表项中
listBox1.Items.Add(txtInput.Text);
//清空txtInput中的文本
txtInput.Clear();
}
}