Vorrei fare una stampa in cui ho un elenco di dati suddiviso in colonne. Siccome, oltre che avere i dati allineati a sinistra rispetto alla colonna, in alcuni casi li vorrei allineati a destra ed in altri al centro mi chiedevo se era una operazione corretta creare dei rettangoli e scrivere all'interno di essi nel seguente modo:
Dim f As Font 'Font di stampa
Dim a As RectangleF 'Area di stampa
Dim sf As New StringFormat 'Formato stringa si stampa
f = New Font("Vedana", 16, FontStyle.Bold)
a = New RectangleF(x, y, w, f.GetHeight(e.Graphics))
sf.Alignment = StringAlignment.Center '<--- Qui cambio l'allineamento rispetto alla colonna
e.Graphics.DrawString("MiaStringa", f, Brushes.Black, a, sf)
y += f.GetHeight(e.Graphics)
f.Dispose()
Ovviamente il tutto moltiplicato per N righe (userò un ciclo) e N colonne (parliamo di una decina di colonne).
E' un inutile spreco di risorse ed esistono modi più eleganti/leggeri per fare ciò oppure è la soluzione corretta?
Grazie del consiglio!!!
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole