La funzione funziona (sic !) benissimo ma solo per una certa larghezza. Potrei probabilmente modificarla in modo che tenga conto anche dell'altezza della label in cui va a finire la scritta, ma essa (la funzione) è assai pesante dal punto di vista computazionale e rallenta troppo la popolazione delle label. Questo a causa dell'approccio grafico e soprattutto dall'esame, carattere per carattere, della stringa, fino a trovare quella la cui lunghezza è immediatamente inferiore alla larghezza.
Le label fanno difatti parte di un CustomListView con qualche centinaio di item ciascuno dei quali comprende 3 diverse label di cui solo la terza ha 3 righe.
Capirai quindi che il modo di lavorare di questa funzione, validissimo in altri ambiti, non è praticabile nel mio caso.
Grazie comunque.
Un'altra soluzione - poche elegante e non molto efficace visivamente - sarebbe quella di sovrapporre una piccolissima label nell'angolo in basso a destra, label avente la proprietà Text settata a "...". Potrebbe però capitare che qualche lettera venisse troncata a metà con un risultato estetico non soddisfacente.
Altre idee ?