DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

ListViewのサブアイテムの色、フォントを変更する

広告

ListViewのサブアイテムの前景色、背景色、フォントを変更するには、そのサブアイテムのListViewItem.ListViewSubItemオブジェクトのForeColor、BackColor、Fontプロパティをそれぞれ変更すれば良い訳です。ところが、これだけではサブアイテムの見た目は変更しません。これは、そのサブアイテムの親であるListViewItemオブジェクトのUseItemStyleForSubItemsプロパティがTrueになっているためです。UseItemStyleForSubItemsプロパティをFalseにすれば、サブアイテムの色、フォントの変更が反映されます。

次の例では、前景色を黄色、背景色を赤、フォントを太字にしたサブアイテムを持つアイテムをリストビューコントロールListView1に追加しています。


[VB.NET]
'ListViewItemオブジェクトの作成
Dim lvi As New ListViewItem("アイテム")
'UseItemStyleForSubItemsをfalseにする
lvi.UseItemStyleForSubItems = False

'フォントを太字にする
Dim fs As FontStyle = lvi.Font.Style Or FontStyle.Bold
Dim f As New Font(lvi.Font.Name, lvi.Font.Size, fs)
'前景色、背景色、フォントを指定してサブアイテムを追加
lvi.SubItems.Add("サブアイテム", Color.Yellow, Color.Red, f)

'アイテムを追加
ListView1.Items.Add(lvi)
[C#]
//ListViewItemオブジェクトの作成
ListViewItem lvi = new ListViewItem("アイテム");
//UseItemStyleForSubItemsをfalseにする
lvi.UseItemStyleForSubItems = false;

//フォントを太字にする
FontStyle fs = lvi.Font.Style | FontStyle.Bold;
Font f = new Font(lvi.Font.Name, lvi.Font.Size, fs);
//前景色、背景色、フォントを指定してサブアイテムを追加
lvi.SubItems.Add("サブアイテム", Color.Yellow, Color.Red, f);

//アイテムを追加
ListView1.Items.Add(lvi);