2012-10-28 3 views
0

Dans le cadre de cette affectation pour ma classe, j'ai une zone de liste qui est connectée à une base de données et affiche le prénom et le nom des élèves. J'ai également créé une fonction de recherche dans laquelle l'utilisateur saisit le premier et/ou le dernier nom qu'il recherche dans une zone de texte et lorsqu'il appuie sur le bouton "Recherche", il affiche les résultats filtrés dans la liste.Détection C# et retour arrière dans la zone de texte pour recharger la zone de liste

La dernière partie de la question me demande de détecter quand l'utilisateur efface la zone de texte pour afficher à nouveau les données d'origine dans la zone de liste. J'ai les données dans une méthode appelée databaseload() et donc c'est vraiment à la façon dont j'obtiens mon programme pour détecter que la listbox est de nouveau vide.

J'ai trouvé quelques choses en ligne, et quand je les ai essayées, ça n'a pas marché.

private void searchTextBox_KeyPress(object sender, KeyPressEventArgs e){ 
    if (e.KeyChar == 8) 
    { 
    databaseload(); 
    } 
} 

et j'ai aussi essayé KeyDown

Je ne veux pas aussi recharger lors de la première backspace est détectée. Je veux qu'il recharge la liste quand le searchTextBox n'a rien dedans.

Votre aide est grandement appréciée.

+0

Metro? WinForms? WPF? Silverlight? Téléphone Windows? ASP.Net? MonoTouch? – SLaks

+0

Avez-vous activé l'événement keyPreview dans vos propriétés? –

Répondre

0

Il existe un événement TextChanged qui semble plus approprié que la détection manuelle des espaces arrière. La clé delete peut également supprimer tout le texte, ou quelqu'un peut simplement mettre en surbrillance tout le texte et le cut dans le Presse-papiers.

Exemple d'utilisation de l'événement TextChanged:

private void textBox_TextChanged(object sender, EventArgs e) 
{ 
    if (string.IsNullOrEmpty(((TextBox)sender).Text)) 
    { 
      // reload database 
    } 
} 
+0

VOUS ÊTES ÉTONNANT !!! MERCI BEAUCOUP!!! Si vous viviez à Toronto, je vous achèterais une bière! Merci également à tous ceux qui ont posté avec leurs commentaires. Très apprécié! :) –

+0

Je voterais ça, mais je n'ai pas assez de réputation. –

+0

Pas de soucis :) Vous pouvez marquer cela comme la réponse si. @EssiJoon –

1

Vous devez gérer l'événement KeyUp qui se déclenche une fois la clé saisie dans le texte.

Questions connexes