protected override void OnDrawSubItem(DrawListViewSubItemEventArgs e) { Color bcolor = BackColor, fcolor = ForeColor; switch (e.ItemState) { case ListViewItemStates.Selected: break; case ListViewItemStates.Hot: case ListViewItemStates.Indeterminate: case ListViewItemStates.Default: case ListViewItemStates.Checked: case ListViewItemStates.Focused: case ListViewItemStates.Grayed: case ListViewItemStates.Marked: case ListViewItemStates.ShowKeyboardCues: default: break; } Font icfont = fc.CreateIconFont(e.Item.Text, fc.Info); e.Graphics.Clip = new Region(e.Bounds); //e.Graphics.Clear(usecolor); //e.DrawBackground(); e.Graphics.FillRectangle(new SolidBrush(bcolor), e.Bounds); //e.Bounds.Inflate(GetSize(e.Item.Text,e.Item.Text)); if (e.ColumnIndex == 0) { e.Graphics.DrawString(e.SubItem.Text, icfont, SystemBrushes.WindowText, e.Bounds.Location); } else { e.Graphics.DrawString(e.SubItem.Text, SystemFonts.CaptionFont, SystemBrushes.WindowText, e.Bounds.Location); } e.Graphics.ResetClip(); icfont.Dispose(); base.OnDrawSubItem(e); }