Перерисовка с использование разных шрифтов
От: nosuchip  
Дата: 22.08.08 12:17
Оценка:
Здравствуйте,

Есть код:

=========================================
public class MyClass : PictureBox
{
    private void OnPaint(object sender, PaintEventArgs e)
    {
        Font font = new Font(FontFamily.GenericSansSerif, EXITS_SIZE);
        Font fontBold = new Font(FontFamily.GenericSansSerif, EXITS_SIZE, FontStyle.Bold);

        // немного кода убрано
        ..................................

        if (someCondition)
        {
                g.DrawString(someString, fontBold, someBrush, x, y);
        }
        else
        {
                g.DrawString(someString, font, someBrush, x, y);
        }
    }
}
=========================================

При создании этого контрола всё отрисовывается нормально, кроме строк — они отрисовываются почти всегда обычным шрифтом.
Перерисовка жирным происходит только после скрытия окна, либо перетаскивани контрола за пределы окна.

Чувствую, что проблема где-то в недопонимании когда же мой OnPaint вызывается, но где именно понять не могу. Если бы всё не отрисовывалось (либо рисовалось бы только при вышеописанных условиях) я бы понял. Однако отрисовывается всё кроме тех строчек, что должны быть отрисованы жирным шрифтом.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.