如何使 ListView-Control 表现得像 ListBox-Control?

Pet*_*lde 5 c# listview listbox winforms

因为我想给每一个元素涂上不同的颜色,所以我决定用ListView代替ListBox,它只能一次为所有元素着色。

这意味着它应该只有一列并在彼此之间插入元素,与命令相媲美listBox.Items.Insert(0, "Item")

为了实现这一目标,我需要更改哪些属性?

我已经尝试将View属性设置为,View.List但是只要一行中有太多元素,它就会继续将元素插入到我什至没有创建的第二行中,并且在我查看时也找不到Edit Columns。 ..

Rez*_*aei 8

您可以设置ViewtoDetails和设置HeaderStyleto None,然后通过添加一列并设置其大小来 -1强制该列使用与 相同的宽度ListView

this.listView1.View = View.Details;
this.listView1.HeaderStyle = ColumnHeaderStyle.None;
this.listView1.FullRowSelect = true;
this.listView1.Columns.Add("", -2);
this.listView1.Items.Add("Something");
this.listView1.Items.Add("Something else").BackColor = Color.Red;
Run Code Online (Sandbox Code Playgroud)