{
if (isSelected && IsMouseInPanel())#判断当前鼠标是否已按下且未抬起、鼠标是否在窗体内
{
if (this.panel1.VerticalScroll.Value - (Cursor.Position.X - mouseDownPoint.X) > 0#判断条件:窗体垂直滚轮的当前的值减去鼠标的移动值 是否大于0
&& this.panel1.VerticalScroll.Value - (Cursor.Position.X - mouseDownPoint.X) < this.panel1.VerticalScroll.Maximum#判断条件:窗体垂直滚轮的当前的值减去鼠标的移动值 是否小于垂直滚轮的最大值
&& this.panel1.HorizontalScroll.Value - (Cursor.Position.Y - mouseDownPoint.Y) > 0#判断条件:窗体水平滚轮的当前的值减去鼠标的移动值 是否大于0
&& this.panel1.HorizontalScroll.Value - (Cursor.Position.Y - mouseDownPoint.Y) < this.panel1.HorizontalScroll.Maximum)#判断条件:窗体水平滚轮的当前的值减去鼠标的移动值 是否小于水平滚轮的最大值
{
this.panel1.VerticalScroll.Value = Math.Abs(this.panel1.VerticalScroll.Value - (Cursor.Position.Y - mouseDownPoint.Y));#当前窗体的垂直滚轮的值=(当前窗体的垂直滚轮的值-鼠标垂直移动距离的值)的绝对值
this.panel1.HorizontalScroll.Value =Math.Abs( this.panel1.HorizontalScroll.Value - (Cursor.Position.X - mouseDownPoint.X));#当前窗体的水平滚轮的值=(当前窗体的水平滚轮的值-鼠标水平移动距离的值)的绝对值
mouseDownPoint.X = Cursor.Position.X;#所记录的鼠标水平坐标值更新为当前鼠标位置
mouseDownPoint.Y = Cursor.Position.Y;#所记录的鼠标垂直坐标值更新为当前鼠标位置
}
}
}