1

ボタン付きのリッチテキストボックスにテキストを入れることができるプログラムを作成しました。ボタンをクリックすると、このテキストボックスのテキストがリストビューに表示され、各行にチェックボックスが表示されます。このリストビューには 1 列しかありません。

ここで、いくつかの行をサブアイテムとして入れ、ツリーのように親からチェックボックスを削除したいと考えています。ただし、現時点では親しか表示されず、サブアイテムは表示されません。親からチェックボックスを削除する方法もわかりません。

ツリービュー クラスを見ましたが、各行の前にこれらのドットが必要ないため、そこにチェックボックスを追加できるかどうかわかりません。

これは私のコードです

    private void ParseButton_Clicked(object sender, EventArgs e)
    {
       string[] entries = rawLogBox.Text.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);

       ListViewItem parent = null;
       foreach (string entry in entries)
       {
           if (Regex.IsMatch(entry, "^={10} .* ={10}$"))
           {
               parent = new ListViewItem(entry);
               parsedLogBox.Items.Add(parent);
           }
           else
           {
               if (parent == null)
               {
                   parsedLogBox.Items.Add(new ListViewItem(entry));
               }
               else
               {
                   new ListViewItem.ListViewSubItem(parent, entry);
               }
           }                 
       }
       parsedLogBox.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
    }

リストビューは詳細に設定されています。

4

1 に答える 1

2

次のようにサブアイテムを追加する必要があります。

parent.SubItems.Add(entry)

this so questionも参照してください

編集: ツリービューでチェックボックスを制御する場合: TreeView 一部のノードで CheckBox を削除する

于 2012-12-29T11:06:26.750 に答える