C# winform项目中ListView控件使用CheckBoxes属性实现单选功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform项目中ListView控件使用CheckBoxes属性实现单选功能相关的知识,希望对你有一定的参考价值。
C# winform项目中ListView控件使用CheckBoxes属性实现单选功能
在做项目时需要使用ListView控件的CheckBoxes属性显示,还要在点击行时自动选中CheckBoxes和点击选中CheckBoxes时自动显示正行选中状态的单选功能。
效果图:
主要利用两个事件:listView1_ItemCheck和listView1_SelectedIndexChanged事件。
上代码:
- private void listView1_ItemCheck(object sender, ItemCheckEventArgs e)
- {
- if (!listView1.Items[e.Index].Checked)//如果点击的CheckBoxes没有选中
- {
- foreach (ListViewItem lv in listView1.Items)
- {
- if (lv.Checked)//取消所有已选中的CheckBoxes
- {
- lv.Checked = false;
- lv.Selected = false;
- // lv.BackColor = Color.White;
- }
- }
- listView1.Items[e.Index].Selected = true;
- // lv.Checked = false;
- }
- //int count = listView1.Items.Count;
- //ListViewItem item = listView1.Items[e.Index];
- //if (item.Checked)
- //{
- // for (int i = 0; i < count; i++)
- // {
- // if (i != e.Index)
- // {
- // ListViewItem item1 = listView1.Items[i];
- // item1.Checked = false;
- // }
- // }
- //}
- }
- private void listView1_SelectedIndexChanged(object sender, EventArgs e)
- {
- foreach (ListViewItem lv in listView1.Items)
- {
- if (lv.Selected)
- {
- //if (lv.Checked)
- //{
- // //lv.Checked = false;
- //}
- //else
- //{
- lv.Checked = true;
- //}
- }
- else
- {
- if (listView1.SelectedIndices.Count>0)
- {
- if (lv.Checked)
- {
- lv.Checked = false;
- }
- }
- }
- }
- }
以上是关于C# winform项目中ListView控件使用CheckBoxes属性实现单选功能的主要内容,如果未能解决你的问题,请参考以下文章
c# winform 用listview做导航界面,控件上下移动后 顺序不对?
C# Winform 关于ListView控件绑定DataTable
C# winform 的listView控件如何将单元格写入值
C# winform程序 绑定listView1控件值(对应数据库表中的字段名) 循环绑定 insert into 语句中的到吗问题...
C# winForm 将datagridview 控件中的数据(大约有六千行甚至更多),导入到listview中显示时,卡死了。