【问题标题】:Can checkboxes be removed from a .NET WinForms ListView at runtime?可以在运行时从 .NET WinForms ListView 中删除复选框吗?
【发布时间】:2010-10-21 15:08:06
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# .net winforms listview checkbox


    【解决方案1】:

    我刚刚使用 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;
    

    【讨论】:

    • 我刚刚验证了这段代码也适用于 VS 2005。看来我的代码中一定有其他东西导致 ListView 保持其复选框状态。
    猜你喜欢
    • 2023-03-07
    • 2016-07-13
    • 1970-01-01
    • 2019-05-07
    • 1970-01-01
    • 1970-01-01
    • 2010-09-26
    • 2012-07-20
    • 1970-01-01
    相关资源
    最近更新 更多