0
現在我正在窗口的標題欄上繪製一個小的16x16圖像。它很好地工作,除了一個令人厭惡的閃爍,我不知道如何擺脫。Winforms在任務欄上繪製圖像時閃爍
我只是畫這樣的形象:
Protected Overrides Sub WndProc(ByRef m As Message)
If m.Msg = WM_SIZE Then
wnd_size = New Size(New Point(CInt(m.LParam)))
End If
If m.Msg = WM_ACTIVATE _
OrElse m.Msg = WM_SIZE _
OrElse m.Msg = WM_SYNCPAINT _
OrElse m.Msg = WM_NCACTIVATE _
OrElse m.Msg = WM_NCCREATE _
OrElse m.Msg = WM_NCPAINT _
OrElse m.Msg = WM_NCACTIVATE _
OrElse m.Msg = WM_NCHITTEST _
OrElse m.Msg = WM_PAINT _
OrElse m.Msg = WM_MOUSEMOVE Then
Dim g As Graphics = Graphics.FromHdc(CType(GetWindowDC(CInt(Handle)), IntPtr))
g.DrawImage(My.Resources.drag, 0, 0, 16, 16)
End If
MyBase.WndProc(m)
End Sub
其重繪整個標題欄,每次的東西是它改變了(點擊,鼠標懸停角落按鈕等),其重繪時我得到了閃爍。
其他人都會遇到這個問題嗎?