2010-03-10 2 views
3

Je souhaite créer une application winforms dans laquelle vous pouvez affecter des tags à une entité. ofc Je souhaite que le client réutilise beaucoup les tags existants. Voilà pourquoi je veux leur montrer la liste des balises alors qu'ils sont en tapant (similaire à IntelliSense dans VS et les balises-menu déroulant, même ici en stackoverflow;))Contrôle Winforms qui fonctionne comme ajax tag-completion

  • avez-vous un contrôle (s) esprit qui offre cette fonctionnalité?
  • puis-je réutiliser un ComboBox pour cela? (Ici je dois le faire tomber programatically - comment)

Je veux avoir le taglist obtenir mise au point d'entrée, mais ne pas perdre le mainform-focus, et je veux que ce soit sur le dessus sur toutes les fenêtres et même plage hors de la zone principale (comme Intellisense en vs)

thx!

Répondre

1

Ici, j'ai fait une fonction à laquelle passer le nom de la table à partir de laquelle l'auto-complétion doit être faite, le nom du champ qui doit être auto-complétion et la combobox qui doit être ciblée.

Essayez le code suivant:

public void AutoCompleteTextBox(string tableName, string fieldName, ComboBox combToAutoComp) 
     { 
      AutoCompleteStringCollection txtCollection = new AutoCompleteStringCollection(); 
      DataTable dtAutoComp = Dal.ExecuteDataSetBySelect("Stored_Procedure", fieldName, tableName); 
      if (dtAutoComp.Rows.Count >= 0) 
      { 
       for (int count = 0; count < dtAutoComp.Rows.Count; count++) 
       { 
        txtCollection.Add(dtAutoComp.Rows[count][fieldName].ToString()); 
       } 
      } 
      combToAutoComp.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
      combToAutoComp.AutoCompleteSource = AutoCompleteSource.CustomSource; 
      combToAutoComp.AutoCompleteCustomSource = txtCollection; 
     } 

Ici Dal.ExecuteDataSetBySelect est mon implémentation où je crée la connexion, commande et DataAdapter pour appeler la procédure stockée. Vous pouvez le remplacer par votre propre implémentation pour le même. Pour plus de référence this link

+0

thx mon pote, a travaillé suffisamment. Bien que j'ai décidé après beaucoup plus de luttes pour prendre la courbe d'apprentissage plus raide de WPF et a commencé à partir de zéro avec mon projet en utilisant WPF - Souhaitez-moi bonne chance :) – Sargola

+0

Tous les meilleurs :) – HotTester

Questions connexes