Problema con funzione e.Graphics.MeasureString

lunedì 16 gennaio 2006 - 18.08

papini.sascha Profilo | Newbie

Provo ad esporre il mio problema. Io ho creato un gestionale di magazzino e come tutti i gestionali permette di fare anche le fatture .... in poche parole una fattura convoglia X ordini ...
il problema sta nel fatto della stampa ...
il campo NOME che identifica il nome dell'oggetto nel db è un campo text .. perciò non so quanto è lungo ... e per misurare la stringa e disegnare il rettangolo adeguato ho usato la funzione MeasureString ...

'massimo layout !!
layoutSize.Height = 30
layoutSize.Width = 170

While oggetti.Read
'nome
stringSize = e.Graphics.MeasureString(oggetti.GetString(1).TrimEnd, fontPiccolo, layoutSize, newStringFormat, charactersFitted, linesFilled)
e.Graphics.DrawRectangle(lineaRettangoli, 20, 103, 110, stringSize.Height + y)
RectF = New RectangleF(20.1, 103.3 + offset, 110, stringSize.Height + y + offset)
alignF.Alignment = StringAlignment.Near
e.Graphics.DrawString(oggetti.GetString(1).TrimEnd, fontPiccolo, Brushes.Black, RectF, alignF)

y = y + stringSize.Height
End While

offset = offset + y

ma visto che una fattura ha + ordini ho messo anche la variabile offset che una volta finito il ciclo While assume il valore dell'ultima stringa .... in modo che quando richiamo questa funzione che stampa gli ordini riprende dall'ultima riga ....
ma non so perchè mi ristampa sopra le altre scritte
ecco cosa viene fuori
http://www.papinicomputer.it/vb/prova.pdf
o messo su internet anche la classe della stampa
http://www.papinicomputer.it/vb/clStampaFattura.vb
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 !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5