2010-09-16 4 views
-2

Comment puis-je ajouter des valeurs à une zone de liste à partir d'une zone de texte à chaque fois qu'un espace est pressé (valeur de zone de texte divisée sur l'espace)exemple listbox

+0

quoi? Si je lis cela correctement, vous voulez prendre la valeur d'une zone de texte, puis l'ajouter à une zone de liste? – stack72

+4

Je vous accorde la question la plus illisible de la semaine. –

+1

Aucune idée de ce que vous demandez. Pouvez-vous le décomposer en étapes, et éventuellement afficher un code que vous avez essayé afin que nous ayons un point de départ pour travailler? – Kendrick

Répondre

1

En un mot, vous aurez besoin d'un gestionnaire d'événements TextChanged sur la zone de texte. Vous pouvez ensuite prendre le texte, utilisez String.Split() pour le séparer en éléments individuels et les ajouter à votre liste.

+0

ce qu'il dit, mais n'oubliez pas que vous devrez soit effacer la liste à chaque fois ou ajoutez juste le dernier élément du tableau que la division produit. (Pas que je ne fasse pas cette erreur à chaque fois ou quoi que ce soit ...) – FixerMark

0

En ce qui concerne l'édition et c'est vraiment ce que vous voulez dire, essayons. Ajouter un nouveau Listener à la zone de texte pour KeyPress, essayez ce code:

private void YourTextBox_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    if (e.KeyChar.Equals(' ')) 
    { 
     String[] items = Regex.Split(YourListBox.Text, @"/\w/"); 
     YourListBox.Items.Clear(); 
     foreach (String item in items) 
      YourListBox.Items.Add(item); 
    } 
} 

Ceci est très rapide et sale, car il itérer sur tout le texte à chaque fois que vous appuyez sur l'espace, mais il devrait faire l'affaire.