我创建了一个WinForms ListView
作为详细信息视图,其中包含四列。我在设计器中为每个列命名,但是当通过ColumnHeader
属性访问每个ListView.Columns
时,我发现每个ColumnHeader.Name
都是一个空字符串。我做错了什么或这是一个框架错误?
答案 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());
}
希望你能以某种方式使用它。