实现ListView自动翻页(自动上下滚动)

在C# Winform程式中,如何实现自动翻页(自动上下滚动)呢?比如,ListView在UI中最多显示8行信息,如果超过8行,ListView的上线滚动条就自动出现,那么以8行为一个单位,定时(15秒)循环翻页呢? 我采用了比较笨的办法:

        void autoScroll(object source, System.Timers.ElapsedEventArgs e)
        {
            if (lvShowMulti.Items.Count > 8)
            {
                t2.Interval=(lvShowMulti.Items.Count / 8 + 1) * 15000;
                lvAutoScroll(lvShowMulti);
            }
        }
        void lvAutoScroll(ListView LV)
        {
            LV.EnsureVisible(0);
            int lvTotalItems = LV.Items.Count;
            int m = lvTotalItems / 8;
            for (int i = 0; i < m; i++)
            {
                LV.EnsureVisible(i*8+7);
                System.Threading.Thread.Sleep(15000);
            }
            if (lvTotalItems % 8 > 0)
            {
                LV.EnsureVisible(lvTotalItems - 1);
                System.Threading.Thread.Sleep(15000);
            }
        }


然后在Timer计时器的协助下,就可以实现ListView自动翻页(自动上下滚动)。

 

 

 

你可能感兴趣的:(实现ListView自动翻页(自动上下滚动))