Visual Studio 2010, C#Come attivare un pulsante WinForm in tempo per ricevere attenzione da tabulazione
Ho un ComboBox
con un DropDown
, AutoComplete
insieme al SuggestAppend
e il AutoCompleteSource
è dal ListItems
. L'utente digita i dati in esso fino a quando non ha la voce corretta. Utilizza i dati corrispondenti a uno degli elementi dell'elenco, un pulsante accanto alla casella combinata è disabilitato.
Se l'utente preme il tasto Tab, la funzione di completamento automatico accetta il suggerimento corrente. Passa anche al controllo successivo in sequenza di tabulazioni abilitato. Naturalmente dal momento che voglio che passi al pulsante disabilitato, devo abilitarlo non appena convalido la voce.
Il problema è che nessuno degli eventi che ho provato, PreviewKeyDown
, LostFocus
, SelectedIndexChanged
mi permette di attivare il pulsante in tempo per essere proccessed e ricevere la messa a fuoco. Va sempre al prossimo pulsante in ordine di tabulazione che è sempre abilitato.
Sono quasi pronto a lasciare il pulsante abilitato e farmi dare un errore se premuto troppo presto ma non voglio farlo in quel modo. Inoltre, non voglio entrare in modalità speciale per tenere traccia di quando questi controlli ricevono attenzione. La convalida sembra essere una cosa normale, ma sono bloccato.
Se il SelectedIndexChanged
ha funzionato quando l'utente ha effettuato una corrispondenza, ciò sarebbe stato facile. Non si attiva quando la casella si cancella o quando viene trovata una corrispondenza tipizzata. evento
Utilizzare l'evento TextChanged. –