当我使用listview1.View = View.Details
时,我的列表视图会在我添加项目时展开(生成滚动条)但是让它们不可见,但是当我将其切换到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个奇数字符(使用调试器检查)。
答案 0 :(得分:43)
你打电话给“清除”吗?如果是这样,请确保您拨打的是lv.Items.Clear()
而不是lv.Clear()
。
答案 1 :(得分:16)
以下代码应该有效:
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;
如果不是,我不知道。您添加的字符串的字符是否可见?
答案 2 :(得分:9)
您需要为“详细信息”视图添加一列才能正常工作。
答案 3 :(得分:1)
我遇到了同样的问题,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");
答案 4 :(得分:0)
我遇到了同样的问题。
我已经将列宽设置为-2,因此它将自动调整为列标题中文本的长度。当我切换到Details
时,列宽自动重置为0,从而隐藏了项目。
答案 5 :(得分:0)
只需将其添加到您的Listview中即可。更改listview1为您的Listview名称:
listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left);