Se trata éste de un truco muy útil y  muy sencillo, si bien muchos programadores desconocen.

En la versión 2.0 de la plataforma .NET algunos controles para interfaz de usuario con Windows Forms (en concreto los cuadros de texto y los combos, tanto los normales como los que van dentro de los ToolStrip), permiten mostrar a los usuarios sugerencias acerca de los datos que están introduciendo de una manera muy sencilla. Esta caraterística no estaba presente en la versión 1.x de la plataforma.

Para ello basta con seleccionar el control en cuestión y ajustar sus propiedades AutoCompleteMode y AutoCompleteSource (ver figura lateral).

La primera nos sirve para indicar de qué modo se hara el auto-rellenado. Puede ser simplemente una sugerencia desplegada por debajo (estilo navegador Web), que el texto se vaya autocompletando automáticamente dentro del control o ambas cosas.

La propiedad AutoCompleteSource sirve para indicar de dónde se sacarán las sugerencias de rellenado automático. Pueden obtenerse del sistema de archivos (como en la figura), de la lista de URLs recientes, de la lista de archivos recientes, de estas dos últimas a la vez, de las URLs y el sistema de archivos al mismo tiempo, o en el caso de los combos, de los elementos que éste contiene.

En esta figura, por ejemplo, se ve el autorellenado a medida que escribimos una ruta en el disco, con las propiedades que acabamos de ver:

Lo más intresante, quizá, sea la posiblidad de rellenarlo con los valores que nosotros consideremos. Para conseguirlo debemos escoger el valor CustomSource para la propiedad AutoCompleteSource. Ahora basta con ajustar la propiedad AutoCompleteCustomSource que es una colección de cadenas de texto de tipo AutoCompleteStringCollection. Para meter nuestros propios elementos podemos escribir:

        private void Form3_Load(object sender, EventArgs e)
        {
            AutoCompleteStringCollection s = new AutoCompleteStringCollection();
            s.Add("Antonio");
            s.Add("Amaya");
            s.Add("Azuzena");
//... rellenar con más elementos o sacarlos de una BD u otro lugar... this.textBox1.AutoCompleteCustomSource = s; }

Con esto conseguiremos que se sugieran nuestros propios elementos. Podemos rellenarlos manualmente en tiempo de diseño con el editor de esta propiedad que ofrece el inspector de propiedades de Visual Studio 2005.

💪🏻 ¿Este post te ha ayudado?, ¿has aprendido algo nuevo?
Pues NO te pido que me invites a un café... Te pido algo más fácil y mucho mejor

Escrito por un humano, no por una IA