平滑滚动.net 表单

2024-05-15

您好,我正在 .net 中使用表单,并且在运行时动态添加大量链接标签, 我将这些链接标签添加到面板并将该面板添加到 winform。当链接标签的数量增加时,表单会显示一个自动滚动条(垂直)... 现在,当我使用自动滚动向下滚动时,表单在滚动时不会更新其视图,只有当我停止滚动时表单才会刷新... 另外,当它刷新时,它看起来太糟糕了..我可以看到它是如何缓慢绘制的......

以前有人处理过这个吗?

我在滚动事件处理程序中尝试了 form.refresh() 但这似乎没有帮助..

有什么线索吗?


将其弹出到您的类(UserControl、Panel 等)中,然后它将通过拇指拖动来工作。

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 to SB_THUMBPOSITION
        m.WParam = (IntPtr)(((int)m.WParam & ~0xFFFF) | 4);
    }
base.WndProc (ref m);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

平滑滚动.net 表单 的相关文章