flowLayoutPanel中的禁用复选框

时间:2018-12-17 14:29:32

标签: c# winforms flowlayoutpanel

我正在尝试在flowLayoutPanel控件中动态创建一些复选框。

我设法创建了它,但是它们似乎在面板内被禁用。我无法选中/取消选中它们。它们是灰色的,没有激活。

我想有一些flowLayoutPanel属性可以阻止我丢失的这些复选框被启用。

这是我的 flowLayoutPanel 代码:

// 
// flowLayoutPanelForCheckBoxes
// 
this.flowLayoutPanelForCheckBoxes.Controls.Add(this.SomeCheckBox);
this.flowLayoutPanelForCheckBoxes.AutoScroll = true;
this.flowLayoutPanelForCheckBoxes.Location = new System.Drawing.Point(132, 8);
this.flowLayoutPanelForCheckBoxes.Name = "flowLayoutPanelForCheckBoxes";
this.flowLayoutPanelForCheckBoxes.Size = new System.Drawing.Size(546, 38);
this.flowLayoutPanelForCheckBoxes.TabIndex = 28;
this.flowLayoutPanelForCheckBoxes.WrapContents = false;

用于生成复选框:

private List<CheckBox> GetGeneratedCheckboxes()
{
    var generatedCheckboxes = new List<CheckBox>();

    var valuesForCheckboxes = GetCheckboxValuesFromDb(); //it returns dictionary<int, string> 

    // with some numbers and text. I think this method is not as important

    if (valuesForCheckboxes != null && valuesForCheckboxes.Count != 0)
    {
        int index = 0;
        foreach (var chbx in valuesForCheckboxes)
        {
            var checkboxToAdd = new System.Windows.Forms.CheckBox();

            checkboxToAdd.AutoSize = true;
            checkboxToAdd.Enabled = true;
            checkboxToAdd.Checked = true;
            checkboxToAdd.CheckState = System.Windows.Forms.CheckState.Checked;
            checkboxToAdd.Size = new System.Drawing.Size(84, 21);
            checkboxToAdd.UseVisualStyleBackColor = true;

            checkboxToAdd.Name = "chboxCountry" + chbx.Key;
            checkboxToAdd.Text = chbx.Value;
            checkboxToAdd.TabIndex = index + 1;

            index++;

            generatedCheckboxes.Add(checkboxToAdd);
        }
    }

    return generatedCheckboxes;
}

它在FormLoad方法中使用:

var checkboxesForPanel = GetGeneratedCheckboxes();

foreach (var checkbox in checkboxesForPanel)
{
    this.flowLayoutPanelForCheckBoxes.Controls.Add(checkbox);
}

1 个答案:

答案 0 :(得分:0)

代码对我来说看起来不错。没问题。检查流布局面板是否处于禁用状态。检入设计器或检查代码是否处于禁用状态。