ButtonTextBoxAC: mi versión de de comboseek - Harpo - 04-03-2023
Saludos!!
Tenía pendiente subir mi versión de ComboSeek desde hace mucho tiempo y aquí la tienen. Mis disculpas por la tardanza.
Lo primero, hay dos controles dentro del proyecto:- ButtonTextBox: un ButtonBox modificado, en su día me resultaba molesto que el control original al pulsar el tabulador el foco no saltara al siguiente control y primero pasara por los botones. Así que me hice mi propio ButtonBox.
- ButtonTextBoxAC: hereda del anterior e incorpora la lista desplegable y la búsqueda. El "AC" del final proviene de "AutoComplete", en su momento la cabeza no de me dio para más. A medida que escribimos el control filtra los resultados y autocompleta el texto con el primero que cumple las condiciones. Se activa al 2º carácter.
Creé el control para trabajar con tablas auxiliares, la típica tabla con dos campos: clave-descripción. Necesitaba mostrar al usuario la descripción y recuperar la clave.
Por eso no usa un String[] para la lista desplegable, usa un objeto Collection, donde "Key" es el texto a mostrar y "Value" el código que queremos recuperar.
El control no tiene propiedad "index", en su lugar usa "ListID", es un variant.
Una imagen del formulario de test del control.
Las propiedades importantes:- List: un objeto collection del que obtiene la lista a mostar. Sin esto no funciona.
- ListID: la clave asociada al valor de la lista seleccionado. Sustituye a "Index". Se puede asignar directamente y el control actualiza el texto mostrado. Si pulsan en una fila del GridView de la derecha asignará el valor de la primera columna.
- Autocomplete: con esta propiedad a "True" activa la búsqueda y autocompletado. A "False" funcionaría como un ComboBox.
- Verify: Fuerza a seleccionar un valor de la lista, si tecleamos un texto que no existe al abandonar el control este asigna automáticamente el valor por defecto.
No me alargo más, llevo trabajando con el control un tiempo y funciona razonablemente bien, pero no hay nadie peor para probar software que el propio autor, si alguien encuentra un error en sus pruebas agradecería lo comentara.
Para terminar, el control no funciona todo lo bien que debiera en ventanas modales, el ratón no trabaja correctamente, pueden verificarlo con el botón "ShowModal". No he conseguido encontrar una solución al problema.
Un saludo, Harpo.
|