未在ListView中显示的ListView项目和列消失

Fre*_*red 4 c# listview winforms

我在WinForm的选项卡控件中有一个ListView.首次加载表单时,我可以按预期看到所有标题:

在此输入图像描述

我用ListView的详细信息填充ListView:

string[] fileEntries = Directory.GetFiles(trNode.Tag.ToString(), "*.*", SearchOption.TopDirectoryOnly);
int fileNo = 1;
foreach (string fileName in fileEntries)
{
    FileInfo oFileInfo = new FileInfo(fileName);
    ListViewItem lvi = new ListViewItem(new string[] { fileNo.ToString(), oFileInfo.Name, oFileInfo.Extension, oFileInfo.Length.ToString(), oFileInfo.CreationTime.ToString() });
    lvFiles.Items.Add(lvi);
    fileNo++;
}
Run Code Online (Sandbox Code Playgroud)

表单加载后,列标题已消失,没有项目显示.

在此输入图像描述

我没有代码来更改ListView或任何容器的可见性.正如你在加载后看到的那样,ListView有一个滚动条,我猜这个滚动条没有隐藏.

任何建议都是最受欢迎的!

UPDATE

listview Items.Count告诉我listview中有项目.更奇怪的是,如果我将视图更改为SmallIcons,我会看到它们,在详细信息视图中它们会消失!如果我打破代码并查看项目,他们在所有正确的位置使用正确的数据看起来很好!

Fre*_*red 15

这个问题的答案非常令人尴尬!你可能会说一个男生错误.

例程中的一行代码清除了我错过了重要元素的形式.

lvFiles.Clear();这显然清除了一切,包括标题,我把它改成了lvFiles.Items.Clear();它是我寻找的第一件事,我不敢相信我错过了它.:(

  • 这对我非常有用。我只是做了同样的事情,所以你并不孤单! (2认同)