任何人都可以帮我解决这个问题。 我有FlowLayoutPanel,其中有多个UserControls。 已启用自动滚动功能。 我遇到的问题是UserControls在滚动时闪烁/闪烁。我理解这是因为OnPaint事件。我试过下面的代码。派生自FlowLayoutControl并试图覆盖WndProc但没有成功。
class ScrollFlowLayoutPanel : FlowLayoutPanel
{
private const int WM_HSCROLL = 0x114;
private const int WM_VSCROLL = 0x115;
protected override void WndProc(ref Message m)
{
if ((m.Msg == WM_HSCROLL || m.Msg == WM_VSCROLL) && (((int)m.WParam & 0xFFFF) == 5))
{
// Change SB_THUMBTRACK SB_THUMBPOSITION
m.WParam = (IntPtr)(((int)m.WParam & ~0xFFFF) | 4);
}
base.WndProc (ref m);
}
}
由于