Как использовать AnimateWindow и DoubleBuffering вместе в vb.net?
Я рисую текст с помощью AntiAlias на панели в событии панели OnPaint. Форма отображается плавно в событии Load с функцией AnimateWindow, но в конце события Load панель стирается, и программа переходит к событию OnPain Panel и перерисовке текста. Это стирание и перерисовка вызывают мерзкое мерцание. Если я пытаюсь использовать DoubleBuffering (или SetStyles), ничего не происходит или мерцание не разрешается, но форма появляется без наложения.
Как я могу решить это? Спасибо за помощь!
Вот упрощенный код:
Private Sub UzenetForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'If I use this rows blending is over:
'SetStyle(ControlStyles.UserPaint, True)
'SetStyle(ControlStyles.AllPaintingInWmPaint, True)
'SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
'UpdateStyles()
AnimateWindow(Handle, 500, AW_BLEND Or AW_ACTIVATE)
End Sub
Private Sub TitlePanel_Paint(sender As Object, e As PaintEventArgs) Handles TitlePanel.Paint
e.Graphics.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAliasGridFit
TextRenderer.DrawText(e.Graphics, lWinTitle.Text, lWinTitle.Font,
lWinTitle.Bounds, abWinTitleColor, TextFormatFlags.Left Or
TextFormatFlags.NoPadding Or TextFormatFlags.NoPrefix Or
TextFormatFlags.SingleLine Or TextFormatFlags.VerticalCenter Or
TextFormatFlags.EndEllipsis)
End Sub