Tengo un cuadro de texto que envía algunos comandos a un instrumento. Agregué la función Autocompletar a este cuadro de texto y las cosas ahora son más fáciles.Anular o sobrecargar Autocompletar Agregar regla
Lo que estoy pensando para mejorar esto, es agregar la posibilidad de que cuando el usuario ingresa un comando (solo un texto) mientras Autocompletar encuentra una coincidencia, también muestra una descripción para ese comando.
Por el momento, tengo todas las cadenas Autocompletar en un archivo de texto y lo cargo cuando se inicia la aplicación. El archivo de texto contiene líneas como esta:
*IDN? #Query the instrument for identification
*RST #Resets the instrument
Así que lo que está sucediendo en mi solicitud es que debido a Autocompletar está en SuggestAppend
modo, la descripción del comando también se mete en la caja de texto (esto será el mismo si sólo lo puse en Suggest
modo)
lo que necesito saber es cómo forzar el Autocompletar para añadir el texto, mientras que su
- no añade ningún texto a partir de carbón, mientras que
#
añadiendo el texto sugerido - Trim() el texto para evitar que los espacios que se ve en la fuente de archivo de texto
ACTUALIZA 1 Ok, creo que la única manera es hacer una nueva clase y heredar de AutoCompleteStringCollection
Y en este nuevo clase, de alguna manera anula el método responsable para devolver (sumar) el texto sugerido. Realmente no tengo idea de lo que debería hacer:
class MyAutoCompleteCollection : AutoCompleteStringCollection
{
//How to override Get function of AutoCompleteStringCollection class?
//It is not avilable to override :(
}
ACTUALIZACIÓN 2 descubrí que los métodos en AutoCompleteStringCollection
no son reemplazable. Estoy buscando una manera de cambiar la forma en que funciona el método []
(para ser sincero, no sé cómo llamarlo). ¿Alguien tiene alguna idea sobre esto?
ACTUALIZACIÓN 3 Cuando el texto sin #DESC entra en el cuadro de texto, tengo un controlador de eventos para KeyDown que transferirá el comando al instrumento.
¿Puede publicar su código existente para manejar la autocompletación? Es más fácil sugerir una solución de código mirando el código. –
Tal vez debería usar '.Remove (base.Text.LastIndexOf ('#'), base.Text.Length - 1) .Trim();' en el momento que carga el archivo. –
¡No! ¡la idea es mostrar el texto después de # dentro del cuadro de autocompletar! Solo quiero que no entre en mi cuadro de texto. –