我在表单上有一个System.Windows.Forms.VScrollBar控件,并通过调用scrollBar.Select()
以编程方式选择它,以便鼠标滚轮和键盘滚动正常工作(以预先明确选择滚动条)。但是,这会导致滚动条光标每隔半秒左右不断闪烁一次。有什么办法可以阻止这种行为?我环顾四周,但找不到任何属性来控制此行为?
我什至尝试创建一个从VScrollBar继承并覆盖OnPaint的自定义滚动条,但这甚至没有被调用,因此我猜想它根本没有被VScrollBar使用。
答案 0 :(得分:0)
我不知道可以在WinForms AutoScroll
控件上轻松实现键盘滚动(请参见this answer)。我确实知道,只要AutoScroll
控件具有窗体焦点,就可以在用户不选择滚动条本身的情况下进行鼠标滚轮滚动。我建议不要调用scrollBar.Select()
,而应调用scrollBarParent.Focus()
来完成所需的工作。这应该解决闪烁的问题。