1

是否可以在运行时从 .NET WinForms ListView 控件中删除复选框?

当 '.Checkboxes' 最初设置为 'true' 并且控件已呈现到具有可用于每个列表视图项的复选框的表单上时,以下代码似乎无效:

// C#:
testListView.BeginUpdate();  
testListView.Checkboxes = false;  
testListView.EndUpdate();  

是否有必须调用的方法来执行此更改?当 .Checkboxes 属性默认为“false”并且仅在设置为“true”时才有效时,提供它有什么用?

4

1 回答 1

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;
    }

我的列表视图的属性如下:

        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;
于 2009-04-24T14:48:33.513 回答