Reputation: 1
I would like to generate checkboxes dynamically in a checkedlist. I generate the .Text of each checkbox from a list of strings, then I add each new checkbox to the checkedlist, when I run the application, they are there, but there is no text.
I've tried to use the Controls to get the text, but I only had one checkbox each time where I want the complete list of the string. So, I return to this method :
`
public void GetAttributs()
{
CheckBox checkBox = new CheckBox();
List<string> lstAttributs = new List<string>();
lstAttributs.Add("Alifère: capacité de voler à x mètres d'altitude");
lstAttributs.Add("Amphibien: capacité de nager à x mètres de profondeur, peut respirer sous l'eau et sur la terre");
lstAttributs.Add("Armure naturelle: peau épaisse, jusqu'à x% de dégâts physiques absorbés par l'ennemi");
lstAttributs.Add("Avantage du terrain: sur x terrain(s), la créature n'a pas de malus");
lstAttributs.Add("Célérité: attaque toujours en premier lors de tour d'initiative");
lstAttributs.Add("Corps artificiels: créature artificielle, nul besoin pour elle de respirer");
lstAttributs.Add("Dégagement: impossible d'être encerclé");
lstAttributs.Add("Double frappe: capacité d'attaquer deux fois par tour de jeu");
lstAttributs.Add("Fin limier: plafond supplémentaire de 5% dans une des compétences techniques");
lstAttributs.Add("Frigifugé: capacité de survivre à basse température jusqu'à x degrés Celsius");
lstAttributs.Add("Gros dormeur: temps de récupération divisé par deux lors de repos");
lstAttributs.Add("Hyperesthésie: chance de ne pas être empoisonné égale à x%");
lstAttributs.Add("Ignifugé: capacité de survivre à haute température jusqu'à x degrés Celsius");
lstAttributs.Add("Insubmersible: impossible d'être submergé");
lstAttributs.Add("Lourdaud: trop lourd pour attaquer en premier, attaque en dernier");
lstAttributs.Add("Mithridatisation: chance de ne pas être empoisonné égale à x%");
lstAttributs.Add("Mort-vivant: ne peut pas être soigné par des moyens conventionnels (sauf repos), est obligé de dévorer un corps ou boire des fluides corporels");
lstAttributs.Add("Porteur de charges lourdes: capacité de porter 25% la charge maximum que l'on peut porter");
lstAttributs.Add("Prodige: plafond supplémentaire de 5% dans une des compétences naturelles");
lstAttributs.Add("Régénération spirituelle: à chaque début de tour, 10% de l'énergie est régénérée par le lanceur");
lstAttributs.Add("Régénération vitale: à chaque début de tour, 10% de PV régénérés pour le lanceur");
lstAttributs.Add("Soif de bataille: plafond supplémentaire de 5% dans une des compétences de combat");
lstAttributs.Add("Souffle: la créature est capable de cracher du feu ou n'importe quel autre élément (dégâts non magiques)");
lstAttributs.Add("Vague de panique: fais trop peur, les adversaires doivent réussir un jet de Volonté tous les x tour(s) pour agir, mais peuvent toujours esquiver en cas d'échec");
lstAttributs.Add("Voie libre: capacité de déplacement doublée lorsque le terrain est dégagé.");
for(int i = 0; i < lstAttributs.Count; i++)
{
checkBox.Text = lstAttributs[i];
chckLstAttributs.Items.Add(checkBox);
}
}
`
Upvotes: 0
Views: 79
Reputation: 54477
You don't add CheckBox
controls to a CheckedListBox
. A CheckedListBox
is basically just a tarted up ListBox
. You add items to the CheckedListBox
and the control displays them, just like a ListBox
. The difference is that the CheckedListBox
displays a check box next to each item. Just do this:
chckLstAttributs.Items.AddRange(lstAttributs);
Upvotes: 1