ListViewのサブアイテムの前景色、背景色、フォントを変更するには、そのサブアイテムのListViewItem.ListViewSubItemオブジェクトのForeColor、BackColor、Fontプロパティをそれぞれ変更すれば良い訳です。ところが、これだけではサブアイテムの見た目は変更しません。これは、そのサブアイテムの親であるListViewItemオブジェクトのUseItemStyleForSubItemsプロパティがTrueになっているためです。UseItemStyleForSubItemsプロパティをFalseにすれば、サブアイテムの色、フォントの変更が反映されます。
次の例では、前景色を黄色、背景色を赤、フォントを太字にしたサブアイテムを持つアイテムをリストビューコントロールListView1に追加しています。
'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)
//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);
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。