Domanda

Sto cercando di creare una casella combinata che si comporta in qualche modo come la Awesomebar di Firefox 3, con il seguente comportamento:

  1. Digita il testo
  2. Riporta in modo asincrono i risultati
  3. Su e giù seleziona i risultati nell'elenco, MA lascia il testo digitato nella casella di immissione in modo che l'utente possa continuare a modificare per limitare il set di risultati in modo diverso
  4. Invio genera un evento che verrà gestito dal modulo padre

Ho i risultati asincroni e il filtro tutto funziona, ma non ho un buon metodo per visualizzare e selezionare i risultati.

Una casella combinata riempie automaticamente la casella di immissione con ciò che è selezionato quando si scorre verso il basso. Errore n. 3.

Ho i controlli DevExpress, ma la loro casella combinata fa la stessa cosa e non riesco nemmeno a capire come sovrascrivere.

Una LookupEdit non consente di scrivere cose arbitrarie. Nemmeno un PopupContainerEdit.

Voglio un comportamento simile a una casella di testo con una casella di riepilogo al di sotto di essa e gli eventi su / giù nella casella di testo vengono passati alla casella di riepilogo. Ma se provo a creare un controllo personalizzato che combini i due in questo modo, non ho idea di come "float" " la casella di riepilogo come il menu a discesa in una normale casella combinata.

Indizi molto apprezzati!

È stato utile?

Soluzione

Potrebbe essere necessario utilizzare una casella di testo anziché una casella combinata perché l'utilizzo dei tasti freccia consente di selezionare i valori dall'elenco delle combo e sovrascrivere il valore corrente. Usando la casella di testo puoi cercare nell'evento TextChanged e puoi memorizzare il valore attualmente digitato sovrascrivendo l'evento KeyPress per raccogliere e memorizzare le chiavi che l'utente ha digitato.
L'elenco popup di valori dovrebbe essere disegnato automaticamente nell'evento paint.

Questo può sembrare eccessivamente complicato, ma probabilmente è necessario abbandonare il controllo combo e implementare alcune delle sue funzioni da soli.

Altri suggerimenti

Sto usando il controllo Completamento automatico di Skybound. È gratis. Può essere personalizzato, in modo da poter approssimare il comportamento da Awesomebar.

http://dev.skybound.ca/Products/AutoComplete/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top