ListView子项字体无法正常工作

时间:2011-10-01 12:06:31

标签: c# .net winforms listview

我有一个listview,其中我想根据某些条件在不同的单元格中应用不同的字体。但我无法做到这一点。我尝试了这些类型的代码来添加项目。

ListViewItem entryListItem = listView_Standard.Items.Add("Items");

            // Set UseItemStyleForSubItems property to false to change 
            // look of subitems.
            entryListItem.UseItemStyleForSubItems = false;

            // Add the expense subitem.
            ListViewItem.ListViewSubItem expenseItem =
                entryListItem.SubItems.Add("Expense");

            // Change the expenseItem object's color and font.
            expenseItem.ForeColor = System.Drawing.Color.Red;
            expenseItem.Font = new System.Drawing.Font(
                "Arial", 10, System.Drawing.FontStyle.Italic);

            // Add a subitem called revenueItem 
            ListViewItem.ListViewSubItem revenueItem =
                entryListItem.SubItems.Add("Revenue");
            revenueItem.BackColor = System.Drawing.Color.Red;

            // Change the revenueItem object's color and font.
            revenueItem.ForeColor = System.Drawing.Color.Blue;
            revenueItem.Font = new System.Drawing.Font(
                "KF-Kiran", 25, System.Drawing.FontStyle.Bold);

ListViewItem NewItem = new ListViewItem();
             NewItem.UseItemStyleForSubItems = false;
             NewItem.Text = "foo";
             NewItem.SubItems.Add("bar");
             NewItem.SubItems.Add("1111111");
             NewItem.SubItems[1].Font = new Font("KF-Kiran", 20);
listView_Standard.Items.Add(NewItem);

当我使用第0个子项更改字体时,新字体将应用于整行。但我只想要特殊细胞来应用字体。

1 个答案:

答案 0 :(得分:11)

ListViewItem.UseItemStyleForSubItems = false;

这否定了第一个子项的字体样式,它将自动应用于所有子项。