Posizionare text con x,y

lunedì 19 settembre 2005 - 13.58

spyto Profilo | Newbie

Ciao a tutti avrei un problema semplice ma che non riesco a risolvere.
Vi propongo il problema nella forma più semplice, vorrei fare un programmino dove inserisco un riga di text e gli do le coodinate x, y per scriverl su di un foglio in posizione (x,y).
In pratica quando vado a fare l'anteprima stampa vedo la mia riga di testo nella posizione desiderata.

La cosa che non so proprio come fare è dire ad un oggetto dove posizionarsi(con precisione mm) su di un foglio.

Vi ringrazio in anticipo per il vostro aiuto.
Grazie.

spyto Profilo | Newbie

Ti ringrazio farò delle prove.
Grazie ancora

spyto Profilo | Newbie

Eccomi ho risolto come volevo, in questo modo.
Per chi fosse interessato, si crea un foglio per fare l'anteprima e si crea un oggetto per metterlo sul foglio.
Grazie Coach

Private Sub btPrintPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btPrintPreview.Click

Try
PrintDocument1.DefaultPageSettings = PrintPageSetting
'Specifica il documento che deve essere messo in anteprima
StringToPrint = RichTextBox.Text
ann = "Scrivi Prova"
PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.ShowDialog()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim numChars As Integer
Dim numLines As Integer
Dim StringForPage As String
Dim strFormat As New StringFormat

Dim rectDraw As New RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height)
'Definisce l'area dove deve essere rappresentato il rettangolo
Dim sizeMeasure As New SizeF(e.MarginBounds.Width, e.MarginBounds.Height - PrintFont.GetHeight(e.Graphics))
'Se la stringa troppo lunga tagliala
strFormat.Trimming = StringTrimming.Word
'Misura la lunghezza della stringa
e.Graphics.MeasureString(StringToPrint, PrintFont, sizeMeasure, strFormat, numChars, numLines)
'Adatta la stringa alla pagina
StringForPage = StringToPrint.Substring(0, numChars)
'Stampa la stringa
e.Graphics.DrawString(StringForPage, PrintFont, Brushes.Black, rectDraw, strFormat)

'Prova
e.Graphics.DrawString(ann, PrintFont, Brushes.Red, 500, 100)

'Se ci sono più pagine
If numChars < StringToPrint.Length Then
'Stampa il testo sulla pagina fino dove arriva
StringToPrint = StringToPrint.Substring(numChars)
e.HasMorePages = True
Else
e.HasMorePages = False
'Stampa il rimanete testo
StringToPrint = RichTextBox.Text
End If
End Sub

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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5