虚拟大数据从日志文件读入ListView

我一直在研究如何读取大型日志文件,大约500mbs并使用c#将它们解析为gui。 我是相当新的使用虚拟模式listview …

我决定使用带有虚拟模式的列表框(希望这可以处理大约1mil的日志消息)。 但我在将日志文件的行读入列表框时遇到问题。

我不想读取整个文件,因为它会使程序崩溃,所以我在foreach语句中使用File.ReadLines。

我想我在处理RetrieveVirtualItem处理程序时无法读取我的文件,并获得一个新行并填充它

private void listView1_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e) { ListViewItem lvi = new ListViewItem(); lvi.Text = addList(); // need to read a new row ListViewItem.ListViewSubItem lvsi = new ListViewItem.ListViewSubItem(); lvsi.Text = e.ItemIndex.ToString("n"); lvi.SubItems.Add(lvsi); e.Item = lvi; } 

我如何读取文件的每一行并将其与listview的虚拟检索方法相关联?

我最终想要添加搜索,因此它只显示匹配匹配的行。

我也不确定如何编辑listView1.VirtualListSize – 如何使这个变量等于匹配量? 我认为因为我需要一个值,因为我加载表单。