鼠标滑轮实现滚动条拖动效果

private void FrmTwoCancerRegister_Load(object sender, EventArgs e)
{
    this.MouseWheel +=FrmTwoCancerRegister_MouseWheel;
    Init();
}

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

private void FrmTwoCancerRegister_MouseWheel(object sender, MouseEventArgs e)
{
    this.tableLayoutPanel1.Focus();
    //主控件获得焦点
}