Allora,

il box viene popolato da un database access 2010. Nel progetto ho inserito la mia sorgente dati, poi dalla finestra origine dati ho inserito il dettaglio della listbox e si è generato in automatico dbprovaDataset, tblprovaBindingSource, tblprovaTableAdapter e TableAdapterManager.

Nel database ho inserito manualmente nella tabella prova 4 record:

id | categoria

1 | categoria1
2 | categoria2
3 | categoria3
4 | categoria4

che vengono correttamente visualizzti. Quando premo però al posto di leggere categoria1 mi appare 1 (che è l'id corrispondente).

--- EDIT

mi sono dimenticato: cliccando sul listbox e successivamente sulla freccina in alto a destra ho settato: usa elementi associati al database, origine dati: tblprovaBindingSource, visualizza membro: categoria, membro valore: id, valore selezionato: categoria.