2010-11-07 31 views
6

Tôi đã tạo một khung nhìn chi tiết của WinForms ListView với bốn cột. Tôi đã đặt cho mỗi cột một tên trong nhà thiết kế, tuy nhiên khi truy cập mỗi ColumnHeader thông qua thuộc tính ListView.Columns, tôi thấy mỗi ColumnHeader.Name là một chuỗi rỗng. Tôi có làm điều gì sai hay đây có phải là lỗi khuôn khổ không?ListView ColumnHeader.Name là chuỗi trống

Trả lời

6

Tôi có thể tạo lại hành vi tương tự. Tôi nghĩ rằng nó chắc chắn phải là một lỗi vì nó ngụ ý rằng giá trị sẽ được thiết lập một cách chính xác bởi nhà thiết kế.

Cách giải quyết khác, bạn cũng có thể đặt tên vào thuộc tính Thẻ. (Hoặc đặt nó theo lập trình trong hàm tạo, nhưng điều đó sẽ không hoạt động tốt nếu bạn cần thêm một cột trong trình thiết kế sau này. Tôi sẽ thay vì không sử dụng nhà thiết kế chút nào để khởi tạo các cột.)

Tôi đã tìm thấy một số cuộc thảo luận về điều này here - có vẻ như đây là một vấn đề đã biết, họ cũng đang đi với các Tag hack.

+0

Chức năng "FixColumnNames" hack đang hoạt động tốt.Surprisingly (?) Nó không cố định trong .NET 4.0. – Larry

-1

tôi đã cùng một vấn đề, nhưng làm việc xung quanh nó như thế này:

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()); 

} 

Hy vọng bạn có thể sử dụng một cách nào đó.

+0

Tại sao lại là downvote? –

+0

Trả lời trễ nhưng OP đang tìm kiếm 'Tên' (các phần tử có tên là tự) và không phải là' Văn bản' (thực tế chỉ là chú thích). – Dwza

Các vấn đề liên quan