ibcadmin 发表于 2013-1-14 19:36:43

鼠标滚轮控制滚动条

在winform中 ,在panel的AutoScroll属性来控制滚动条是否显示,滚动条是用鼠标上下拉来操作的,那我们如何使用鼠标中间滚轮控制滚动条呢?

1、拖一个Panel到Form里面,修改Name为panel_content,并设置AutoScroll为True

2、在Form的Load事件中添加下面的代码

   this.MouseWheel += FormSample_MouseWheel;

3、在Form类中添加FormSample_MouseWheel方法


代码如下:

      /// <summary>
         /// 滚动方法
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         void FormSample_MouseWheel(object sender, MouseEventArgs e)
         {
             //获取光标位置
             Point mousePoint = new Point(e.X, e.Y);
            //换算成相对本窗体的位置
             mousePoint.Offset(this.Location.X, this.Location.Y);
            //判断是否在panel内
            if (panel_content.RectangleToScreen(panel_content.DisplayRectangle).Contains(mousePoint))
            {
               //滚动
               panel_content.AutoScrollPosition = new Point(0, panel_content.VerticalScroll.Value - e.Delta);
             }
      }

使用此事件方法,即可控制滚动条

chao2332601 发表于 2013-6-16 02:01:45

谢谢分享!!!

chao2332601 发表于 2013-6-16 05:01:10

谢谢分享!!!
页: [1]
查看完整版本: 鼠标滚轮控制滚动条