TextBox AutoComplete Não está funcionando corretamente

Estou tentando implementar um preenchimento automático de caixa de texto com uma fonte de dados personalizada na forma de uma matriz que mostra sugestões sobre a entrada de um único caractere. Mas quando executo o programa, o preenchimento automático é iniciado somente após a entrada do segundo caractere. Quando depurei, vi que os dados existem no AutoCompleteNameCollection, mas ele não aparece na sugestão até a entrada do segundo caracter

Este código que escrevi no evento de alteração de text

arr = LoadName(empid_txt.Text.Trim());  //arr is string array                          
namesCollection.AddRange(arr);
this.empid_txt.AutoCompleteMode = AutoCompleteMode.Suggest;
this.empid_txt.AutoCompleteSource = AutoCompleteSource.CustomSource;
this.empid_txt.AutoCompleteCustomSource = namesCollection;

No LoadEvent, eu inicializei o AutoCompleteNameCollection com uma matriz vazi

namesCollection.AddRange(arr);// here arr is empty
empid_txt.AutoCompleteMode = AutoCompleteMode.Suggest;
empid_txt.AutoCompleteSource = AutoCompleteSource.CustomSource;
empid_txt.AutoCompleteCustomSource = namesCollection;

Mas não funciona até a entrada do segundo caractere. No entanto, se em vez de uma matriz eu inicializar o AutoCompleteNameCollection com uma string vazia como: namesCollection.Add (""); ele funciona para a entrada de um único caractere, mas algumas vezes fornece AccessViolationException: Tentativa de ler ou gravar memória protegida. Então, existe alguma maneira de resolver esse problema?

questionAnswers(10)

yourAnswerToTheQuestion