0

現在、チェックされているすべてのリストビュー項目から 1 つの列からすべてのサブ項目を取得して、リッチテキスト ボックスに表示しようとしていますが、その方法がわかりません。これが私の現在のコードです。

ItemChecked イベントでもこれを実行しようとしています。

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

            }
        }

私はこれがうまくいくと思っていましたが、どうやらうまくいかないようです。すべての助けに感謝します!

4

1 に答える 1

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);
于 2012-06-06T05:08:29.267 に答える