c# ListBox控件
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); } }
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; } //将文本框中文本加入到ListBox的列表项中 listBox1.Items.Add(txtInput.Text); //清空txtInput中的文本 txtInput.Clear(); } }