производительность в приложении C # - PullRequest
0 голосов
/ 06 февраля 2010

Я использую несколько картинок в моей 'MainForm', и мое приложение для Windows было написано c sharp.Я использую эту форму для запуска других форм в моем проекте.

И я использую некоторые метки и панели с прозрачным цветом.но когда программа запустилась, я вижу много миганий на прозрачной этикетке и панели.И это очень плохо.

Как я могу решить эту проблему?

Ответы [ 2 ]

2 голосов
/ 06 февраля 2010

Включение DoubleBuffered как stax , предложенное выше, полезно, но может быть недостаточным.

В вашей форме добавьте следующий метод переопределения:

protected override void OnPaintBackground(PaintEventArgs e) {}

И, в методе OnPaint, нарисуйте фон самостоятельно. Если вы этого не сделаете, то рисование фона и рисование - это отдельные события, а рисование фона имеет более высокий приоритет, то есть это произойдет раньше.

Кроме того, если вы добавите дочерние элементы управления (например, метки), они получат свои собственные события рисования фона / рисования. Возможно, вы сможете отключить фон метки. Если я делаю подобные вещи, я склонен не использовать элементы управления, а рисовать текст и изображения в одном OnPaint.

0 голосов
/ 06 февраля 2010

вы тестировали его на нескольких машинах.

использовали ли вы обновленный компьютер со всеми необходимыми пакетами обновления .net.

и т.д.

...