如何在列表视图中使用复选框抓取子项

本文关键字:复选框 抓取 列表 视图 | 更新日期: 2023-09-27 18:36:28

我目前正在尝试从每个选中的列表视图项中获取一列中的所有子项,并将它们显示在富文本框中,但我不确定该怎么做。这是我当前的代码。

我也在尝试在 ItemChecked 事件中执行此操作。

        foreach (ListViewItem item in listView1.Items)
        {
            if (listView1.CheckedItems.Count > 0)
            {
                richTextBox2.Text = listView1.CheckedItems[0].SubItems[1].Text;
            }
        }

我以为这会起作用,但显然不是。感谢所有帮助!

如何在列表视图中使用复选框抓取子项

您将在每个循环中替换文本框的内容。尝试在文本后附加 += 。您还需要选择正确的项目

richTextBox2.Text = String.Empty;
foreach (ListViewItem item in listView1.Items)
{
    if (item.Checked)
    {
        richTextBox2.Text += item.SubItems[1].Text + Environment.NewLine;
    }
}

您也可以使用 LINQ 表达式编写此内容并String.Join

richTextBox2.Text = String.Join(Environment.NewLine,
    from item in listView1.Items.OfType<ListViewItem>()
    where item.Checked
    select item.SubItems[1].Text);