C# 操控滚动条
使用 Windows 系统 API 函数实现
功能代码
#region 获取或设置滚动条位置
/// <summary>
/// 获取指定滚动条中滚动按钮的当前位置
/// </summary>
/// <param name="hWnd">带有标准滚动条控件的句柄</param>
/// <param name="nBar">0:水平滚动条,1:垂直滚动条</param>
/// <returns></returns>
[DllImport("user32.dll", EntryPoint = "GetScrollPos")]
private static extern int GetScrollPos(IntPtr hWnd, int nBar);
/// <summary>
/// 设置滚动条位置
/// </summary>
/// <param name="hWnd">带有标准滚动条控件的句柄</param>
/// <param name="nBar">0:水平滚动条,1:垂直滚动条</param>
/// <param name="nPos">位置</param>
/// <param name="bRedraw">重绘标志,是否重绘</param>
/// <returns></returns>
[DllImport("user32.dll")]
private static extern int SetScrollPos(IntPtr hWnd, int nBar, int nPos, bool bRedraw);
/// <summary>
/// 设置控件内容位置
/// </summary>
/// <param name="hWnd">控件句柄</param>
/// <param name="msg">消息(0x00B6)</param>
/// <param name="wParam">0</param>
/// <param name="iParam">位置</param>
/// <returns></returns>
[DllImport("user32.dll", EntryPoint = "SendMessage")]
private static extern int SendMessage(IntPtr hWnd, int msg, int wParam, int iParam);
#endregion