winform里让listview勾选项勾选时只能勾选两个的方法

a1942164662 2015-08-07 10:16:44
 private void listView1_ItemChecked(object sender, ItemCheckedEventArgs e)
{
if (e.Item.Checked)
{
foreach (ListViewItem item in this.listView1.CheckedItems)
{
if (item != e.Item)
item.Checked = false;
}
}
}

我这个只能勾选一个,ListView以后的展示的数据大概在五十条左右 如何才能让ListView中的Check只有两个是在已勾选状态下呢?
...全文
199 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2015-08-07
  • 打赏
  • 举报
回复
嗯,有点逻辑问题 应该设置e.Item.Checked=false, 而不是item.Checked=false; 是让当前选择的选不上,而不是选择前面的,后面的取消了
於黾 2015-08-07
  • 打赏
  • 举报
回复
int count=0; foreach (ListViewItem item in this.listView1.CheckedItems) { if (item.Checked) { count++; if(count>2) { item.Checked=false; } } }
  • 打赏
  • 举报
回复
int count = 0;
foreach (ListViewItem item in this.listView1.CheckedItems)
{
    if (item.Checked && item != e.Item)
    {
        count++;
    }
}
if (count >= 2)
{
    e.Item.Checked = false;
}
於黾 2015-08-07
  • 打赏
  • 举报
回复
加个int变量累加,判断
a1942164662 2015-08-07
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
改成ListView循环判断呗,如果已经有两个Checked了,就将当前的设置为false
我怎么才能已经有两个是勾选的呢?
  • 打赏
  • 举报
回复
改成ListView循环判断呗,如果已经有两个Checked了,就将当前的设置为false

13,347

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET技术前瞻
社区管理员
  • .NET技术前瞻社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧