ListView ColumnHeader.Name是空字符串

时间:2010-11-07 23:55:12

标签: c# listview

我创建了一个WinForms ListView作为详细信息视图,其中包含四列。我在设计器中为每个列命名,但是当通过ColumnHeader属性访问每个ListView.Columns时,我发现每个ColumnHeader.Name都是一个空字符串。我做错了什么或这是一个框架错误?

2 个答案:

答案 0 :(得分:7)

我能够重现相同的行为。我认为它肯定是一个错误,因为暗示设计师会正确设置该值。

作为解决方法,您也可以将名称放入Tag属性中。 (或者在构造函数中以编程方式设置它,但是如果您稍后需要在设计器中添加一列,那么这将无法正常工作。我宁愿不使用设计器来初始化列。)

我发现了对此here的一些讨论 - 看起来这是一个已知问题,他们也会使用Tag hack。

答案 1 :(得分:-1)

我遇到了同样的问题,但是这样解决了这个问题:

foreach (ColumnHeader CN in listView1.Columns)
{
    //I added listbox for this example, but my code uses it
    //to populate an excell spreadsheet

    listBox1.Items.Add(CN.Text.ToString());

}

希望你能以某种方式使用它。