码迷,mamicode.com
首页 > Windows程序 > 详细

Winform鼠标滑轮控制自定义滚动条

时间:2017-11-07 13:15:11      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:ide   click   nta   val   else   垂直   窗体   value   scroll   

场景:类似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鼠标滑轮控制自定义滚动条

标签:ide   click   nta   val   else   垂直   窗体   value   scroll   

原文地址:http://www.cnblogs.com/bincoding/p/7798365.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!