是否可以在运行时从.NET WinForms ListView控件中删除复选框?
当'.Checkboxes'最初设置为'true'并且控件已呈现到一个表单上时,以下代码似乎无效,其中每个列表视图项都有可用的复选框:
// C#:
testListView.BeginUpdate();
testListView.Checkboxes = false;
testListView.EndUpdate();
是否必须调用方法来实施此更改?当默认为'false'时提供.Checkboxes属性有什么用,如果设置为'true'则只有效果?
答案 0 :(得分:3)
我刚刚使用VS 2008使用以下代码创建了一个示例项目,它似乎有效:
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 10; i++)
{
ListViewItem lvi = new ListViewItem("Test");
listView1.Items.Add(lvi);
}
}
private void button1_Click(object sender, EventArgs e)
{
listView1.CheckBoxes = false;
}
我的listview的属性如下:
this.listView1.CheckBoxes = true;
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader1});
this.listView1.GridLines = true;
this.listView1.Location = new System.Drawing.Point(12, 12);
this.listView1.Name = "listView1";
this.listView1.Size = new System.Drawing.Size(224, 174);
this.listView1.TabIndex = 0;
this.listView1.UseCompatibleStateImageBehavior = false;
this.listView1.View = System.Windows.Forms.View.Details;