我目前正在尝试从每个已检查的listviewitem中的一列中获取所有子项,并将它们显示在richtextbox中,但我不知道该怎么做。这是我目前的代码。
我也在尝试在ItemChecked事件中执行此操作。
foreach (ListViewItem item in listView1.Items)
{
if (listView1.CheckedItems.Count > 0)
{
richTextBox2.Text = listView1.CheckedItems[0].SubItems[1].Text;
}
}
我认为这样可行,但显然不行。感谢所有帮助!
答案 0 :(得分:1)
您正在替换每个循环中文本框的内容。尝试使用+=
附加文字。您还需要选择正确的项目
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);