Winform鼠标滑轮控制自定义滚动条
Posted 致林
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winform鼠标滑轮控制自定义滚动条相关的知识,希望对你有一定的参考价值。
场景:类似QQ聊天的窗体中,需要添加自定义滚动条vScroll。主窗体中panel存放空间,右边有垂直的滚动条vScroll。
问题:已经实现vScroll和Panel.VerticalScroll滚动条联动,但是鼠标滑轮事件不能触发。
原因:Panel不能聚焦,鼠标点击后不能触发wheel事件。
解决方法:点击Panel后vScroll获得焦点,然后自定义鼠标Wheel事件。
代码:
//鼠标滑轮事件 protected override void OnMouseWheel(MouseeventArgs e) { base.OnMouseWheel(e); if(e.Delta < 0) { vScrollBar.Value += vScrollBar.LargeChange; } else { vScrollBar.Value -= vScrollBar.LargeChange; } mPanel.VerticalScroll.value = vScrollbar.Value; } //点击panel后vscroll获得焦点 private void Panel_Click(object sender, EventArgs e) { vScrollBar.focus(); }
以上是关于Winform鼠标滑轮控制自定义滚动条的主要内容,如果未能解决你的问题,请参考以下文章