0

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

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

我不想读取整个文件,因为它会使程序崩溃,所以我在 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;
    }

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

我最终想添加搜索,所以它只显示匹配的行。

我也不确定如何编辑 listView1.VirtualListSize - 我如何使它成为一个等于匹配数量的变量?我认为因为它在我加载表单时需要一个值。

4

0 回答 0