Загадка. Что напечатает следующий отрывок кода на языке си#?
var args = new DrawItemEventArgs(
g, font, rect, 0,
DrawItemState.Selected, Color.Black, Color.Goldenrod);
Console.WriteLine("{0}, {1}", args.ForeColor, args.BackColor);
Если кто-то думает, что там будет Black или Goldenrod, он ошибается.
Color [HighlightText], Color [Highlight]
А вся фишка в том, что свойство BackColor в DrawItemEventArgs реализовано так:
public Color get_BackColor()
{
if ((this.state & DrawItemState.Selected) == DrawItemState.Selected)
{
return SystemColors.Highlight;
}
return this.backColor;
}
Редакция от 15 октября 2009
Тэги: c#, wtf, работа
Комментариев нет
| ← | Замена автомата перекоса на Blade mCX | Когда предопределённые тэги нужны | → |