Non è mia abitudine utilizzare oggetti di tipo "ListBox", comunque, credo che tu possa sfruttare l'evento click, per scrivere il codice che ti serve per individuare l'elemento selezionato di volta in volta nella ListBox; in particolare, l'ultimo selezionato è quello corrente. Per conoscere tutti quelli selezionati, pottresti creare un array dinamico, dove potresti aggiungere, per es., il valore indice dell'elemento selezionato di volta in volta. Potrebbe manifestarsi una complicazione, dovuta alla possibile deselezione di un elemento selezionato precedentemente. Purtroppo non posso suggerirti come individuare la deselezione, ma probabilmente potresti sfruttare la lunghezza della della selezione e quando essa dovesse essere pari a
zero, significherebbe che l'elemento cliccato sia stato deselezionato. Soltanto in codesto caso avresti l'onere di ricompattare l'array dinamico, spostando verso sinistra tutti i valori successivi a quello da eliminare. Se l'idea ti dovesse piacere, posso provare a darti una mano nella scrittura del corrisposndente codice di esempio.