C#Winfom如何获取控件的滚动条位置并判断是否到达底部
如下代码:
[DllImport("user32.dll", EntryPoint = "GetScrollPos")]
public static extern int GetScrollPos(IntPtr hwnd, int nBar);
private void button1_Click(object sender, EventArgs e)
{
//一.得到垂直滚动条的位置
int i = GetScrollPos(this.listView1.Handle, 1);
//二.难点在这一步,如何取得listView1控件的滚动条区域的长度
int b = 1;
//三.判断
if (i == b)
{
MessageBox.Show("到底部了");
}
}
通过第一步可以获取到当前滚动条的位置,难点在第二部,如何知道这个位置已经位于该控件的底部了呢?
我想实现一个效果,就是实现文本框的刷新,如果滚动条位置位于底部了,我就自动将焦点更新到最新的文本,如果滚动条位置并非在底部(正在拖动滚动条查看前面的数据),我就不更新焦点。
把滚动条拉到底部,看下
1 |
|
的值len,如果i小于len就是没到底咯