private void IntelliMouse_Scroll(object sender,
IntelliMouse.ScrollEventArgs e)
{
if (e.DeltaY < 0 && vScroll.Value == 0)
{
View.YOffset = 0;
Redraw();
return;
}
if (e.DeltaY > 0 && vScroll.Value >= vScroll.Maximum -
View.VisibleRowCount + 1)
{
View.YOffset = 0;
Redraw();
return;
}
_IntelliScrollPos += e.DeltaY/(double) 8;
int scrollrows = (int) (_IntelliScrollPos)/View.RowHeight;
if (scrollrows != 0)
{
_IntelliScrollPos -= scrollrows*View.RowHeight;
}
View.YOffset = - (int) _IntelliScrollPos;
ScrollScreen(scrollrows);
}