[Tips][ListView] サブ項目の背景色を設定する

スポンサーリンク

ListViewに表示されている項目は、サブ項目ごとに背景色を設定することができます。

まずはじめに、Items プロパティのUseItemStyleForSubItemsプロパティにFalseを設定する必要があります。

UseItemStyleForSubItemsプロパティはすべてのサブ項目に同一の設定を行いたい場合にTrue(既定値です)をセットします。今回はサブ項目ごとに色を変えたいので、Falseをセットします。

次に、SubItemsプロパティBackColorプロパティに任意の背景色を設定します。

下記は、項目「VB」とサブ項目「ぶいびー」の背景色を設定する例です。

VBの例

Private Sub Form14_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim items(,) As String = {
        {"VB", "ぶいびー"},
        {"C#", "しーしゃーぷ"},
        {"VC++", "びじゅあるしーぷらすぷらす"},
        {"F#", "えふしゃーぷ"},
        {"PowerShell", "ぱわーしぇる"}}

    'ListViiewに項目を追加
    For I As Integer = 0 To (items.Length \ items.Rank) - 1
        Dim itemx As New ListViewItem

        itemx.Text = items(I, 0)
        itemx.SubItems.Add(items(I, 1))
        ListView1.Items.Add(itemx)
    Next

    '項目の色を設定する
    ListView1.Items(0).UseItemStyleForSubItems = False
    ListView1.Items(0).SubItems(0).BackColor = Color.Red    '「VB」の背景色
    ListView1.Items(0).SubItems(1).BackColor = Color.Blue   '「ぶいびー」の背景色
End Sub

C#の例

private void Form14_Load(object sender, EventArgs e)
{
    string[,] items = {
                      {"VB", "ぶいびー"},
                      {"C#", "しーしゃーぷ"},
                      {"VC++", "びじゅあるしーぷらすぷらす"},
                      {"F#", "えふしゃーぷ"},
                      {"PowerShell", "ぱわーしぇる"}};

    // ListViewに項目を追加する
    for (int i = 0; i < items.Length / items.Rank; i++)
    {
        ListViewItem itemx = new ListViewItem();

        itemx.Text = items[i, 0];
        itemx.SubItems.Add(items[i, 1]);
        listView1.Items.Add(itemx);
    }

    // 各項目の色を設定する
    listView1.Items[0].UseItemStyleForSubItems = false;
    listView1.Items[0].SubItems[0].BackColor = Color.Red;   //「VB」の背景色
    listView1.Items[0].SubItems[1].BackColor = Color.Blue;  //「ぶいびー」の背景色
}
Please follow and like us:

コメント

タイトルとURLをコピーしました