Vous n'avez pas spécifié WinForms par rapport à WPF; Je vais supposer WinForms mais le code est presque identique pour WPF (remplacer Checked
par IsChecked
et Text
par Tag
). Le contrôle CheckBox
a une propriété Checked
indiquant si oui ou non le CheckBox
est dans l'état vérifié. Donc, dites que vous êtes CheckBox
dans un tableau CheckBox[] checkBoxes
. Alors vous pourriez dire
List<string> checkedItems = new List<string>();
for(int i = 0; i < checkBoxes.Length; i++) {
CheckBox checkBox = checkBoxes[i];
if(checkBox.Checked) {
checkedItems.Add(checkBox.Text);
}
}
string result = String.Join(" ; ", checkedItems.ToArray());
Bien sûr, cet impératif et dégoûtant. Obtenons heureux avec quelques belles Code déclarative LINQ:
string result = String.Join(
" ; ",
checkBoxes.Where(cb => cb.Checked)
.Select(cb => cb.Text)
.ToArray()
);
Si vos CheckBox
es ne sont pas dans le tableau, vous pourriez commencer par les mettre dans le tableau via
CheckBox[] checkBoxes = new[] { c1, c2, c3, c4, c5, c6, c7 };
où c1
, c2
, .. ., c7
sont vos CheckBox
es.
Quel cadre? Formulaires ASP.NET, MVC, WinForms? –