listview中指定列的粗体文本无效

时间:2015-01-10 22:29:26

标签: c# winforms visual-studio-2010

这段代码有什么问题?第3个索引列文本未变为粗体。

foreach (ListViewItem itm in listView1.Items)
{
    itm.SubItems[3].Font = new Font(listView1.Font, FontStyle.Bold);
}

1 个答案:

答案 0 :(得分:5)

这将有效:

// create temp font from the item, using BOLD
using (Font f = new Font(lv1.Items(0).SubItems(0).Font, FontStyle.Bold))
{
    // loop thru all items
    foreach (ListViewItem itm in listView1.Items)
    {
        // tell SubItems not to use Item Style & set the font
        itm.UseItemStyleForSubItems = False;
        itm.SubItems[3].Font = f;
    }
}  // dispose of font

除非您另有说明,否则默认情况是SubItems使用与父项相同的字体和颜色。这是一个项目级别的属性,因此必须为每个项目设置,您希望任何子项目都有所不同。