C#在ListView中获取CheckBox选中的值(多选)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#在ListView中获取CheckBox选中的值(多选)相关的知识,希望对你有一定的参考价值。
我是想把ListView里面所选勾选的值保存到一个对象中,
然后把该对象传递到另一个WinForm窗体,请问该如何实现,最好能给到一小段代码,谢谢
最重要我是想知道如何获取ListView里,CheckBox中选选的值
for (int i = 0; i < this.listView1.CheckedItems.Count; i++)
if (this.listView1.CheckedItems[i].Checked)
list += this.listView1.CheckedItems[i].Text + ",";
本回答被提问者和网友采纳 参考技术B foreach ( ListViewItem item in ListView1.CheckedItems)
Console.Writeline(item.SubItems[1].Text);
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#在ListView中获取CheckBox选中的值(多选)的主要内容,如果未能解决你的问题,请参考以下文章
如何遍历并获取listview中checkbox是不是选中以及该项的id?