.NET Combobox: autocompletar

Pues quien no quiere que los combobox funcionen en sus aplicaciones al estilo de los de msexcel, me refiero como el del tipo de fuente, que mientraz vaz escribiendo vaz mostrando valores filtrados, pues en .NET tienes esa opcion para usarla: autocompletar, para usar esto podemos ir a la ventana de propiedades y completar las opciones de AutoCompleteMode y AutoCompleteSource

AutoCompleteMode:

  • Suges: Suguiere y al ir escribiendo va filtrando, si borras los caracteres vuelve a buscar, mostrando las coincidencias en la lista desplegada
  • Append: NO muestra las suguerencias en la lista desplegada, pero te va autocompletando la escritura en el combo.
  • SugesAppend: una combinacion de ambos.

AutoCompleteSource:

  •  FileSystem  Especifica el sistema de archivos como origen. 
  • HistoryList  Incluye los Localizadores de Recursos Uniformes (URL) en la lista de historial. 
  • RecentlyUsedList  Incluye los Localizadores de Recursos Uniformes (URL) de la lista de las direcciones URL usadas recientemente. 
  • AllUrl  Especifica el equivalente de HistoryList y RecentlyUsedList como origen. 
  • AllSystemSources  Especifica el equivalente de FileSystem y AllUrl como el origen. Éste es el valor predeterminado cuando AutoCompleteMode se ha establecido en un valor distinto del valor predeterminado. 
  • FileSystemDirectories  Especifica que sólo los nombres de directorio y no los nombres de archivo se finalizarán automáticamente. 
  • CustomSource  Especifica cadenas desde un AutoCompleteStringCollection integrado como origen. 
  • None  Especifica que ningún AutoCompleteSource está actualmente en uso. Éste es el valor predeterminado de AutoCompleteSource. 
  • ListItems  Especifica que los elementos de ComboBox representan el origen. 

 un caso sencillo seria:

a nuestro combo le anhadimos elementos en la propiedad itemlist y luego nos vamos a AutoCompleteMode y elegimos en el que queramos a mi personalmente me gusta el SugesAppend  y AutoCompleteSource en ListItems  y ya esta funcionando.

Existe una dificultad que cuando usas un combo enlazado (osea si usas la propiedad datasource del combo) pues por nada del mundo te permite ListItems, sino tienes que usar CustomSource, pero usar el custom source no radica en grandes problemas ya que simplemente el customsource tiene que ser una lista de tipo AutoCompleteStringCollection, en donde llenas los valores que se muestran. Algo como esto:

AutoCompleteStringCollection stringCol = new AutoCompleteStringCollection();
foreach (xmeeleControls.enlazacombo elem in this.Lista)
{
stringCol.Add(elem.Texto);
}
combo1.AutoCompleteCustomSource = stringCol;
combo1.AutoCompleteSource = AutoCompleteSource.CustomSource;
combo1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;

Donde Lista es una lista tipada de tipo xmeeleControls.enlazacombo y posee la propiedad texto que ermite devolver los textos que se muestran el combo.

Pero como veran esto hace que definir ahora nuestros combos sean mas y mas lineas de codigo, en lo personal esto ya me esta molestando imaginen que tenemos un formulario con 6 combos, alli si que estamos escribiendo muhcas lineas que podrian ser automatizadas, en un proximo post voy a hablar sobre extender controles y como hacer algunas de estas operaciones de manera automatica.

Venga me despido y que los generics les acompanhen.😉


Acerca de

Antes que nada voy a dejar en claro algo, en este blog escribo como se me place, asi que no busquen errores de ortografia o de redaccion que los van a encontrar a montones y tampoco me critiquen o me digan nada sobre ellos pues no tengo intencion alguna de cambiarlos, lo que escribo lo dejo asi y no lo corrijo,claro esta a menos que sean lineas de codigo. Jorge Prado Anci, profesional en desarrollo de aplicaciones, en especial las dirigidas a bases de datos. He trabajado con VFP en casi todas sus versiones, se algo de Java (que no me gusta, es eso solo no me gusta, es bueno pero no me gusta), lo suficiente de PHP como para tener mi propio CMS(es que sigue sin gustarme por la capacidad de desorden que te permite este “lenguaje”), VB lo conoci y lo deteste tanto que lo olvide al punto de no querer adoptar ni por obligacion a su reemplazante VB .NET (por lo mismo de Java) y si C# este si me encanta y aun que conozco bastante bien el lenguaje, la verdad es que me falta mucho del Framework (del 100% estare en un 65%). Soy un apasionado por el orden (en los proyectos de desarrollo), de la programacion en capas (de MVC conozco pero no he aplicado mucho), los estandares y las condenadas pruebas unitaria. Venga creo que ya con esto fue suficiente.

Tagged with: , , , , , , ,
Publicado en c#
3 comments on “.NET Combobox: autocompletar
  1. Dark dice:

    Excelente muchas gracias!

  2. Joaquin dice:

    Excelente trabajo

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Escribe tu dirección de correo electrónico para suscribirte a este blog, y recibir notificaciones de nuevos mensajes por correo.

Únete a otros 441 seguidores

Blog Stats
  • 304,391 hits
A %d blogueros les gusta esto: