Я пытаюсь динамически создать некоторые флажки в элементе управления 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);
}
flowLayoutPanelForCheckBoxes.Enabled = true;
где-нибудь в свой код. - person preciousbetine   schedule 17.12.2018