2012-07-30 5 views
1

Je Application Windows que j'ai ajouté un Textbox et définir la propriété AutoCompleteSource ...problème lié à textbox autocomplete en C#

  txt.AutoCompleteMode = AutoCompleteMode.Suggest; 
      txt.AutoCompleteSource = AutoCompleteSource.CustomSource; 
      txt.AutoCompleteCustomSource = collection; 

J'ai mis des données de collecte de la base de données ..

Cependant lorsque l'utilisateur sélectionne un texte de la liste déroulante de la Textbox .. et hits onglet pour passer à un autre textbox ou de contrôle .. rien ne se passe .. Je veux dire l'l'onglet touche ne fonctionne pas et Textbox ne perd pas son focus(), pourquoi? et quelle est la solution?

+0

Avez-vous essayé d'utiliser la touche Entrée ou le clic de souris au lieu de TAB? –

+0

no. mais que faire si l'utilisateur veut passer à un autre contrôle en utilisant TAB? –

+0

si vous avez un contrôle déroulant visible et un onglet, je suppose qu'il devrait passer à l'élément suivant dans la liste déroulante –

Répondre

0

Il devrait passer au contrôle suivant - sauf si vous avez spécifié du code dans l'un des événements de textBox1. Je viens de vérifier wtih ce code, et il travaille, il va au contrôle suivant en appuyant sur la touche Tab:

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
     string[] array = { "aaa", "abc", "acc", "aac", "acc", "bcc", "cbb", "bbb" }; 
     //upper line iy my custom array, you get it from database 
     AutoCompleteStringCollection autoComplete = new AutoCompleteStringCollection(); 
     autoComplete.AddRange(array); 
     textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
     textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource; 
     textBox1.AutoCompleteCustomSource = autoComplete; 

    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     //you can use this event to get some data: 
     string item = textBox1.Text.Trim(); 
    } 
} 

Si vous avez seulement ce code est lié à textBox doit travailler!