列表视图项目未显示

是否有一个原因,当使用listview1.View = View.Details我的listview将扩展(生成滚动条),当我添加项目,但让它们不可见,但当我切换到listview1.View = View.List它工作得很好?

不是我认为它真的很重要,但这里是我用来向listview添加项目的代码:

  ListViewItem item1 = new ListViewItem(file[1]); listView1.Items.Add(item1); 

以及自动生成的设计器代码:

  // // listView1 // this.listView1.CheckBoxes = true; this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.Path}); this.listView1.Location = new System.Drawing.Point(12, 44); this.listView1.Name = "listView1"; this.listView1.Size = new System.Drawing.Size(457, 354); this.listView1.TabIndex = 7; this.listView1.UseCompatibleStateImageBehavior = false; this.listView1.View = System.Windows.Forms.View.Details; 

file是一个字符串数组,在第一个元素中包含大约50个奇数字符(使用调试器检查)。

以下代码应该工作:

 ColumnHeader columnHeader1=new ColumnHeader(); columnHeader1.Text="Column1"; this.listView1.Columns.AddRange(new ColumnHeader[] { columnHeader1 }); ListViewItem item = new ListViewItem("1"); this.listView1.Items.Add(item); this.listView1.View = View.Details; 

如果不是,我不知道。 您添加的字符串的字符是否可见?

你打电话给“清除”吗? 如果是这样,请确保调用lv.Items.Clear()而不是lv.Clear()

您需要为“详细信息”视图添加一列才能工作。

我有同样的问题,我的listview没有可见的文字。 当我使用代码克隆项目时,错误是由我做出的; 我不小心只重命名了第一部分并再次将文本信息添加到第一个项目而不是克隆项目。 这就是我的意思:

错误:

 ListViewItem item_klon2 = new ListViewItem(); item_klon.Text = System.IO.Path.GetFileName(file_with_path); item_klon.SubItems.Add(short_date); item_klon.SubItems.Add(filesize.ToString() + " kb"); 

对:

 ListViewItem item_klon2 = new ListViewItem(); item_klon2.Text = System.IO.Path.GetFileName(file_with_path); item_klon2.SubItems.Add(short_date); item_klon2.SubItems.Add(filesize.ToString() + " kb"); 

我有同样的问题。

我已将列宽设置为-2,因此它将自动调整为列标题中文本的长度。 当我切换到Details视图时,列宽自动重置为0,从而隐藏项目。