ListViewItem.BackColor Property
Хотя бы просто направьте в правильном направлении!
У меня есть класс наследник ListViewItem. Необходимо, чтобы объект моего класса мог иметь свой цвет фона. Предполагаю, что объект ListViewItem рисуется с помощью DrawString с BackColor = this.parent.BackColor и ForeColor = this.parent.ForeColor. Хотя... хм... что-то кажется не так все просто...
Буду признателен за помощь! Запутался уже под конец рабочего дня...
.method public hidebysig specialname instance void
set_BackColor(valuetype [System.Drawing]System.Drawing.Color 'value') cil managed
{
// Code size 70 (0x46)
.maxstack 2
IL_0000: ldarg.0
IL_0001: ldfld class System.Windows.Forms.ListViewItem/ListViewSubItem/SubItemStyle System.Windows.Forms.ListViewItem/ListViewSubItem::style
IL_0006: brtrue.s IL_0013
IL_0008: ldarg.0
IL_0009: newobj instance void System.Windows.Forms.ListViewItem/ListViewSubItem/SubItemStyle::.ctor()
IL_000e: stfld class System.Windows.Forms.ListViewItem/ListViewSubItem/SubItemStyle System.Windows.Forms.ListViewItem/ListViewSubItem::style
IL_0013: ldarg.0
IL_0014: ldfld class System.Windows.Forms.ListViewItem/ListViewSubItem/SubItemStyle System.Windows.Forms.ListViewItem/ListViewSubItem::style
IL_0019: ldfld valuetype [System.Drawing]System.Drawing.Color System.Windows.Forms.ListViewItem/ListViewSubItem/SubItemStyle::backColor
IL_001e: ldarg.1
IL_001f: call bool [System.Drawing]System.Drawing.Color::op_Inequality(valuetype [System.Drawing]System.Drawing.Color,
valuetype [System.Drawing]System.Drawing.Color)
IL_0024: brfalse.s IL_0045
IL_0026: ldarg.0
IL_0027: ldfld class System.Windows.Forms.ListViewItem/ListViewSubItem/SubItemStyle System.Windows.Forms.ListViewItem/ListViewSubItem::style
IL_002c: ldarg.1
IL_002d: stfld valuetype [System.Drawing]System.Drawing.Color System.Windows.Forms.ListViewItem/ListViewSubItem/SubItemStyle::backColor
IL_0032: ldarg.0
IL_0033: ldfld class System.Windows.Forms.ListViewItem System.Windows.Forms.ListViewItem/ListViewSubItem::owner
IL_0038: brfalse.s IL_0045
IL_003a: ldarg.0
IL_003b: ldfld class System.Windows.Forms.ListViewItem System.Windows.Forms.ListViewItem/ListViewSubItem::owner
IL_0040: callvirt instance void System.Windows.Forms.ListViewItem::InvalidateListView()
IL_0045: ret
} // end of method ListViewSubItem::set_BackColor
Отсюда очевидно, что свойство работает через SubItemStyle и для реализации BackColor используется этот класс