gpt4 book ai didi

c# - C# Listview 中的选中项

转载 作者:太空宇宙 更新时间:2023-11-03 18:36:17 25 4
gpt4 key购买 nike

我在 C# 应用程序中有一个 Listview 控件,其中填充了一些名称和复选框以选择一个或多个值。除了点击复选框外,用户还可以点击名称,它会变成蓝色。我想保留此功能,因为单击名称会显示更多数据并单击复选框将其标记为进一步处理

我认为单击复选框会更改 Item.Checked 属性并单击名称会更改 Item.Selected 但这似乎没有那么简单。

我有一个计算已检查项目的代码:

private void Listview1_ItemChecked(object sender, ItemCheckedEventArgs e) 
{
foreach(ListViewItem Item in ListView1.Items)
{
if (Item != null)
{
if (Item.Checked == true) N++;
}
}
Textbox1.Text = N.ToString();
}

当用户单击复选框时,会显示正确的数字,但当他单击名称时,即使还有更多复选框被选中,选中的数字也会变为 1,这显然是错误的。此外,当表单和控件加载时,即使没有选中复选框,我也会得到 N=1。

我做错了什么?

编辑:感谢您的快速回复和有用的提示!

我刚刚发现我的问题是我的疏忽,因为我忘记删除我的旧代码! :)起初我使用多选来拾取项目,然后我切换到复选框,但仍然调用 SelectionChanged 事件并修改文本框内容

最佳答案

要获取 ListView 控件中选中的项目数,请使用 ListView.CheckedItems.Count 属性。

例子:

int numCheckedItems = myListView.CheckedItems.Count;

TextBox1.Text = myListView.CheckedItems.Count.ToString();

关于c# - C# Listview 中的选中项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14854600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com