【发布时间】:2018-06-24 09:47:14
【问题描述】:
我一直在使用 UserControl 来显示控件列表。我最初启用了AutoScroll,然后选择不使用它。我选择不使用它,因为它很突出,而且与我一直在使用的控件主题“看起来”不太好。
我对一个名为 MetroFramework 的框架进行了测试,并选择使用 MetroScrollBar 滚动条控件作为垂直滚动条。
我已经完全禁用了 AutoScroll,然后我决定实现 Scrollbar。我只是这样做的:
scbMain.Scroll += (sender, e) => { VerticalScroll.Value = scbMain.Value; };
(scbMain 是我正在讨论的滚动条)
这可行,但不如预期。当我滚动时,我会从默认滚动条中得到一个疯狂的闪烁效果,如here 所示。更长的列表有the same effect, but more pronounced。
我试图隐藏现有的滚动条:
VerticalScroll.Visible = false;
HorizontalScroll.Visible = false;
VerticalScroll.Enabled = false;
HorizontalScroll.Enabled = false;
这对解决我的问题没有任何影响。
需要注意的是:我的滚动条停靠在右侧,UserControl内没有其他容器控件。
【问题讨论】:
-
信息太少,没有代码。如果您可以提供一些重现闪烁的最小代码,它将涉及更多的人来帮助您。
-
很抱歉,这是我用于滚动效果的唯一代码。
-
我说“重现闪烁的最小代码”。目的是自己运行
-
当然:我已将代码隔离在 new project and chucked it on GitHub 中。希望这会有所帮助。
-
顺便说一句,问题仍然存在。我在
UserControl区域之外放置了一个按钮 - 它不太明显,但您可以通过添加更多控件来渲染来增加它的可见性。