2008-10-24 6 views
-1

quelqu'un peut-il me montrer comment construire une chaîne en utilisant la case à cocher. Quelle serait la meilleure façon de faire cela.construire une chaîne en utilisant la case à cocher

par exemple j'ai 4 cases à cocher chacune avec sa propre valeur (valeurA, valeurB, valeurC, valeurD) la chose est que je veux afficher chaque résultat dans différentes lignes.

résultat

si B & C est sélectionné:

valeurB
valeurC

et comment pourrais-je afficher ce nouveau si je sauvé ceci dans une base de données?

Répondre

4

Utilisez un StringBuilder pour construire la chaîne, et ajoutez Environment.NewLine à chaque fois que vous ajoutez:

StringBuilder builder = new StringBuilder(); 
foreach (CheckBox cb in checkboxes) 
{ 
    if (cb.Checked) 
    { 
     builder.AppendLine(cb.Text); // Or whatever 

     // Alternatively: 
     // builder.Append(cb.Text); 
     // builder.Append(Environment.NewLine); // Or a different line ending 
    } 
} 
// Call Trim if you want to remove the trailing newline 
string result = builder.ToString(); 

Pour l'afficher à nouveau, il faudrait diviser la chaîne en lignes, et cochez chaque case à cocher voir si sa valeur est dans la collection.

+1

@Jon - Pourquoi voudriez-vous faire les deux ajouts plutôt que AppendLine (cb.Text)? – Carl

+1

En raison de ne pas mémoriser AppendLine - édité de manière appropriée :) –

+1

(Après avoir dit, il peut être judicieux de faire deux ajouts si vous avez besoin d'une nouvelle ligne spécifique à la place de "ce qui est par défaut pour cette plate-forme. Je cours toujours sur Windows cependant.) –

0
"if I saved this into a database" ? 

Vous aurez besoin d'être un peu plus précis avec vos devoirs si vous allez réellement recevoir d'aide ici ...

Edit: ok, il pourrait pas être à la maison, mais il a certainement lu comme ça - après tout, manipuler une interface graphique pour générer une vue des choix de l'utilisateur est Interfaces 101 - et même ce n'était pas une question terrible sans suffisamment de détails pour avoir une réponse décente .

+1

@Unsliced: « sans suffisamment de détails pour avoir une chance d'obtenir une réponse décente » - quelle partie de la question, ma réponse ne couvre pas? Oui, plus de détails auraient été bien, mais ce n'était vraiment pas "terrible". –

2

Pseudo-code:

For each checkbox in the target list of controls 
    append value and a newline character to a temporary string variable 
output temporary string 
Questions connexes