您可以使用一个计时器来实现自动刷新数据,并且每次刷新只显示20条数据。以下是一个示例代码:
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace ListViewAutoRefresh
{
public partial class Form1 : Form
{
private Timer timer;
private List<string> data;
private int currentIndex;
public Form1()
{
InitializeComponent();
data = new List<string>();
currentIndex = 0;
timer = new Timer();
timer.Interval = 1000; // 每秒钟刷新一次
timer.Tick += Timer_Tick;
}
private void Timer_Tick(object sender, EventArgs e)
{
// 每次刷新显示20条数据
int count = Math.Min(20, data.Count - currentIndex);
if (count > 0)
{
for (int i = 0; i < count; i++)
{
string item = data[currentIndex++];
listView1.Items.Add(item);
}
}
else
{
timer.Stop();
}
}
private void buttonStart_Click(object sender, EventArgs e)
{
// 模拟生成一些数据
for (int i = 0; i < 100; i++)
{
data.Add($"Item {i}");
}
timer.Start();
}
}
}
在这个例子中,当用户点击"Start"按钮时,会模拟生成一些数据并开始计时器。计时器每秒钟触发一次Timer_Tick
事件,将20条数据添加到listView1
中。当所有数据都显示完毕时,计时器停止。
您需要在Windows窗体中添加一个ListView控件(名称为listView1)和一个Button控件(名称为buttonStart),并将buttonStart的Click事件绑定到buttonStart_Click方法。
请注意,这只是一个示例代码,您可能需要根据您的具体需求进行调整。