Пользовательские элементы управления используют предыдущий фон форм - PullRequest
1 голос
/ 18 октября 2008

У меня есть несколько пользовательских элементов управления в форме, к сожалению, когда форма отображается, пользовательские элементы управления отображают фон предыдущих форм, а не текущий фон форм.

Событие OnPaint очень простое, а событие OnBackgroundPaint пусто ...

Как это:

    protected override void OnPaint(PaintEventArgs pe)
    {
        pe.Graphics.DrawImageUnscaled(_bmpImage, 0, 0);            
    }

    protected override void OnPaintBackground(PaintEventArgs pevent)
    {
        //Leave empty...
    }

Как получить текущий фон в качестве прозрачности, которая отображается, а не фон предыдущей формы?

Ответы [ 2 ]

1 голос
/ 19 октября 2008

Вы, кажется, переопределяете метод OnPaintBackground и ничего не делаете с фоном. Поскольку вы оставляете это пустым, вы, вероятно, не должны переопределять это в первую очередь. Что происходит, когда вы просто позволяете обработчику по умолчанию OnPaintBackground выполнять свою работу? Разве это не должно автоматически рисовать фон текущего элемента управления правильно?

P.S. Я никогда не работал с пользовательскими элементами управления .Net. Я просто размышляю в попытке помочь найти решение вашей проблемы. Простите, если то, что я предлагаю, совершенно не верно ...

1 голос
/ 19 октября 2008

Вам нужно установить стиль окна - вот вам хорошая базовая статья .

...