あなたはView=Details
を使用してGroups
を作成することができます。彼らは身長が高いですが、残念ながらFont
などを設定する方法が見つかりませんでした。
Groups
は、Items
を追加している間に追加することができます。 Groups
を追加したり、いつでも項目が属する変更を追加することができます。 Group
も削除できます。その場合、すべてのアイテムは'default' Group
に移動します。ここで
は一例です:

は、いくつかのデータを準備します
string root = @"D:\scrape\patterns";
string mask = "*10*";
List<string> folders = Directory.GetDirectories(root).ToList();
List<string> files = Directory.GetFiles(root, mask, SearchOption.AllDirectories).ToList();
はListView
を準備します
listView1.View = View.Details;
listView1.Columns.Add("Png Files");
は今Groups
を追加します。
// 1st group: add root search folder..:
listView1.Groups.Add(root,root);
// .. and all 1st level nested folders as more (possible) groups:
foreach (string f in folders) listView1.Groups.Add(f, f);
最後にItems
を挿入します。
// insert items with groups:
foreach (string f in files)
{
string key = Path.GetDirectoryName(f);
string text = Path.GetFileName(f);
var lvi = listView1.Items.Add(text);
lvi.Group = listView1.Groups[key];
}
注意がそれはあなたがGroup
Item
はいつでも所属変更することができます..:
listView2.Items[2].Group = listView2.Groups[1];
いくつかの注意事項:
よく見ると、私が移動したItem
は、前に空だったGroup
に割り当てられていました。それらは全く表示されません。
Group
を含まないItem
は、上部に表示されるGroup "default"
に追加されます。名前を変更することはできません。したがって、自分の名前を作成し、それに「グループ化されていない」アイテムを割り当てるのが最善です。私はこれに検索ルートの名前を使用しました。
HeaderText
とHeaderAlignment
を超えてグループをスタイルする方法はわかりません。プロパティがないように見えるか、DrawXXX
イベントのいずれにも描画されません。 DrawVisualStyleElementListViewGroup1イベントや機能でそれをやるにあたっての不完全なヒントがありますが、使用方法がわかりませんでした。
出典
2017-06-16 11:24:27
TaW
私はこれが可能ではないと思います。各項目に異なるフォントを割り当てることができますが、高さは常に同じです。 – TaW
別の表示モードを使用するとどうなりますか?いくつかのグループを作る方法はありますか?グループ名はフォルダ名なのでしょうか? – EInherjar
'View = Details'を使ってグループを作成することができます。彼らは背が高いですが、私は彼らのフォントなどを設定する方法が見つかりませんでした。 – TaW