Здравствуйте, nosuchip, Вы писали:
N>Здравствуйте,
N>Есть код:
N>=========================================
N>N>public class MyClass : PictureBox
N>{
N> private void OnPaint(object sender, PaintEventArgs e)
N> {
N> Font font = new Font(FontFamily.GenericSansSerif, EXITS_SIZE);
N> Font fontBold = new Font(FontFamily.GenericSansSerif, EXITS_SIZE, FontStyle.Bold);
N> // немного кода убрано
N> ..................................
N> if (someCondition)
N> {
N> g.DrawString(someString, fontBold, someBrush, x, y);
N> }
N> else
N> {
N> g.DrawString(someString, font, someBrush, x, y);
N> }
N> }
N>}
N>
=========================================
N>При создании этого контрола всё отрисовывается нормально, кроме строк — они отрисовываются почти всегда обычным шрифтом.
N>Перерисовка жирным происходит только после скрытия окна, либо перетаскивани контрола за пределы окна.
N>Чувствую, что проблема где-то в недопонимании когда же мой OnPaint вызывается, но где именно понять не могу. Если бы всё не отрисовывалось (либо рисовалось бы только при вышеописанных условиях) я бы понял. Однако отрисовывается всё кроме тех строчек, что должны быть отрисованы жирным шрифтом.
если условие формируется на участке // немного кода убрано, то очень хотелось бы этот код увидеть...
и вообще увидеть условие. теоритически должно все работать, условие просто не выполняется. запустиить пошагово и посмотрите значения