当前位置: 首页 > 编程语言 > C#

DetectwhentheListViewscrollbarreachedthebottomofWinFormsShare

时间:2023-04-10 22:49:50 C#

DetectwhenListViewscrollbarreachedthebottomofWinForms如何知道WinFormsListView滚动条何时到达底部?发生这种情况时,我希望用更多数据填充列表视图(在我的例子中,理论上是无穷无尽的)。OnScroll事件为我提供了从顶部开始的滚动值,但我无法知道用户是否可以进一步滚动。我使用伟大的ObjectListView代码项目中的一些代码找到了答案:http://www.codeproject.com/KB/list/ObjectListView.aspxCallingGetScrollInfo:privateconstintSIF_RANGE=0x0001;私人常量intSIF_PAGE=0x0002;私人常量intSIF_POS=0x0004;私有常量intSIF_DISABLENOSCROLL=0x0008;私有常量intSIF_TRACKPOS=0x0010;privateconstintSIF_ALL=(SIF_RANGE|SIF_PAGE|SIF_POS|SIF_TRACKPOS);私人常量intSB_HORZ=0;私人常量intSB_VERT=1;[DllImport("user32.dll",CharSet=CharSet.Auto,ExactSpelling=true)]publicstaticexternboolGetScrollInfo(IntPtrhWnd,intfnBar,SCROLLINFOscrollInfo);publicstaticSCROLLINFOGetFullScrollInfo(ListViewlv,boolhorizo??ntalBar){int(horizo??ntalBar?SB_HORZ:SB_VERT);SCROLLINFOscrollInfo=newSCROLLINFO();scrollInfo.fMask=SIF_ALL;如果(GetScrollInfo(lv.Handle,fnBar,scrollInfo))返回scrollInfo;否则返回空;(LayoutKind.Sequential)]公开课SCROLLINFO{publicintcbSize=Marshal.SizeOf(typeof(SCROLLINFO));公共intfMask;公共intnMin;公共诠释nMax;公共intnPage;公共诠释nPos;公共诠释nTrackPos;最大滚动值,所以实际有用的最大值是nMax-nPage,其中nPage是滚动句柄的大小这太棒了!我无法直接回答你的问题,但从你的描述来看,你似乎很想使用列表视图的虚拟模式来管理大型数据集。http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.virtualmode.aspx以上是C#学习教程:检测ListView滚动条何时到达WinForms底部分享所有内容,如果有大家有用,需要多了解C#学习教程。希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: