Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ListViewItem.BackColor Property

8.9K
23 марта 2006 года
Pulf
13 / / 15.01.2005
Нет ли ссылочек на реализацию этого метода? Поддержка этого свойства есть только в Compact Framework 2.0, а хотелось бы юзать и в более ранних...

Хотя бы просто направьте в правильном направлении!
У меня есть класс наследник ListViewItem. Необходимо, чтобы объект моего класса мог иметь свой цвет фона. Предполагаю, что объект ListViewItem рисуется с помощью DrawString с BackColor = this.parent.BackColor и ForeColor = this.parent.ForeColor. Хотя... хм... что-то кажется не так все просто...

Буду признателен за помощь! Запутался уже под конец рабочего дня...
273
30 марта 2006 года
3A3-968M
1.2K / / 22.12.2005
Дизассемблируй метод BackColor да посмотри как он реализован, тем более почему только в Compact Framework 2.x, и в обычном .NET Framework 2.x он есть. Он есть и в предыдущих версиях .NET Framework 1.x, его только нет в компактных версиях Compact Framework 1.x. Если вернуться к реализации, вот что я накопытил из дизассемблера:
.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 используется этот класс
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог