2010-03-10 2 views
6

Ho una forma che ha una scatola di controllo Combo. Ho selezionato la proprietà di stile a discesa per DropDown. Ho anche impostare la larghezza a discesa per 250. ho impostato la modalità di completamento automatico per suggerire e l'auto completa fonte di ListItems. funziona perfettamente quando faccio clic sul menu a discesa. ma quando digito qualcosa, la modalità di completamento automatico attiva una discesa che ha una larghezza ridotta.Lavorare con .net caselle combinate

alcun aiuto apprezzare. Voglio sapere come aumentare la larghezza del completamento automatico discesa tramite il codice in modo che le voci di elenco vengono visualizzati correttamente. Sto usando C#

+1

Forse condividendo alcuni dei vostri codice potrebbe aiutarci a individuare il problema. :) –

risposta

4

Sì, questo è di progettazione. ComboBox utilizza lo SHAutoComplete API function per implementare la funzione di completamento automatico. Nota la dichiarazione, la funzione prende un handle per la parte della casella di testo del ComboBox. In quanto tale, non ha idea che stia effettivamente fornendo informazioni di completamento automatico per un ComboBox invece di un TextBox. Di conseguenza, non c'è nulla che possa fare per compensare la larghezza del dropdown non standard che usi.

Beh, questo spiega il motivo per cui non funziona. Fissarlo è tecnicamente possibile ma abbastanza brutto. Dovresti eseguire il codice nell'evento KeyUp e utilizzare EnumTheadWindows() per trovare l'handle della finestra di completamento automatico. Quindi puoi usare SetWindowPos() per ingrandirlo. C'è già un codice simile a questo in ComboBox.cs (AutoCompleteDropDownFinder.FindDropDowns), utilizzare la fonte di riferimento o del riflettore per ottenere questo diritto. In bocca al lupo!

+2

Sembra che Calle abbia già fatto il lavoro per te. –

2

EDIT:
ho rimosso il mio primo suggerimento a venire con un nuovo collegamento:

In realtà il suo possibile per controllare la larghezza della casella a discesa Autocomplete, ma è un po 'difficile e comporta l'uso di API vittoria ampiamente ...

Combobox too small when doing Suggest

-1

Forse questo articolo che ho scritto su Codeproject potrebbe aiutare in relazione alle caselle combinate-discesa e un modo che ho inciso questo ...