Listview项未显示
本文关键字:显示 Listview | 更新日期: 2023-09-27 17:57:36
在使用listview1.View = View.Details
时,当我添加项目但使其不可见时,我的列表视图会展开(生成滚动条),但当我将其切换到listview1.View = View.List
时,它工作得很好,这是有原因的吗?
我并不认为这真的很重要,但以下是我用来向列表视图添加项目的代码:
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;
文件是一个字符串数组,在第一个元素中包含大约50个奇数字符(使用调试器进行检查)。
您正在调用"Clear"吗?如果是,请确保您呼叫的是lv.Items.Clear()
,而不是lv.Clear()
。
以下代码应该可以工作:
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;
如果没有,我就一无所知。您添加的字符串中的字符是否可见?
您需要为Details视图添加一列才能工作。
我也遇到了同样的问题,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,从而隐藏项目。
只需将其添加到Listview中即可。更改列表视图1您的列表视图名称:
listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left);