Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
[C#] Selezionare Testo In comboBox
mercoledì 02 gennaio 2008 - 14.55
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Domin
Profilo
| Newbie
21
messaggi | Data Invio:
mer 2 gen 2008 - 14:55
Ciao,
Ho una combobox con molti elementi all'interno, e volevo per facilitare la ricerca, fare in modo che quando la combobox è selezionata, e premendo i tasti mi venissero filtrati i dati in base a quanto scritto.
Per farlo ho provato questo:
private void comboBoxCodice_KeyPress(object sender, KeyPressEventArgs e)
{
MessageBox.Show("EVENTO");
}
Purtroppo non succede niente...
EDIT:
Sono riuscito a risolvere, però adesos è solto un'altro problema:
Questo è il codice:
private void textBoxFiltroCodice_KeyPress(object sender, KeyPressEventArgs e)
{
comboBoxCodice.SelectedIndex = comboBoxCodice.FindString(textBoxFiltroCodice.Text);
}
Se nella combo box ho i valori:
1
12
123
1234
Se nella textbox scrivo:
1 non viene mostrato niente
12 Mi mostra il campo 1
123 Mi mostra 12
1234 Mi mostra 123
Non riesco a capire il motivo.... è come se il tasto che inserisco me lo prenda dopo....
phomea
Profilo
| Newbie
8
messaggi | Data Invio:
mer 2 gen 2008 - 21:18
ciao
allora...eh eh ti parlo da vb.net ma è uguale in sostanza
si....il motivo per cui "reagisce in ritardo" è che al momento dell'evento keypress il testo non è ancora stato cambiato...puoi ottenere il carattere corrispondente al tasto con e.keychar
quindi una soluzione può essere questa:
comboBoxcodice.SelectedIndex = comboBoxcodice.FindString(textBoxFiltroCodice.Text + e.KeyChar);
ma se cancelli poi non ti viene riconosciuto più perchè viene aggiunto il carattere corrispondente...
la soluzione migliore probabilmente è gestirlo tramite l'evento TextChanged e non KeyPress
private void textBoxFiltroCodice_TextChanged(object sender, EventArgs e)
{
comboBoxcodice.SelectedIndex = comboBoxcodice.FindString(textBoxFiltroCodice.Text);
}
così l'istruzione viene eseguita dopo che il testo è cambiato
ciao ciao
altrimenti senza usare una textbox aggiuntiva puoi settare le proprietà autocompletemode e autocompletesource sulla combobox
Domin
Profilo
| Newbie
21
messaggi | Data Invio:
gio 3 gen 2008 - 03:06
Grazie mille,
mi hai elencato ogni soluzione possibile, infatti avevo appena "risolto" aggiungendo con il + il carattere inserito per ultimo, ma quando cancellavo mi dava problemi
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !