在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自动翻页(自动上下滚动)。