salve. ho un textbox multiline dove ho inserito del testo. se volessi stamparlo e far si che nella stampa venga formattato in maniera identica alla textbox come posso fare? grazie 1000
salve. ho un textbox multiline dove ho inserito del testo. se volessi stamparlo e far si che nella stampa venga formattato in maniera identica alla textbox come posso fare? grazie 1000
Non è semplice.
Dovrai stampare riga per riga, ma in più dovrai tener conto della larghezza del textbox per calcolare, all'interno della riga, il numero di caratteri che contiene.
Qui trovi un esempio avanzato per formattare il testo (sinistra, destra, centro) o giustificarlo che stampa sia su TextBox che su Printer.
Cerca: AllineaTesto
http://nuke.vbcorner.net/Progetti/VB...9/Default.aspx
Magari il codice ti può essere utile per ottenere quello che vuoi tu.
Ciao![]()
grazie gibra come sempre.. per me è molto complesso, almeno per ora, quel codice. se io ho per esempio un textbox con ammettiamo 80 caratteri tra parole e spazi. voglio che nella mia stampa finale su a 4 il risultato della textbox sia diviso in 4 righe da 20 caratteri l'una come devo fare?
non riesco a capire come fare per selezionare parte della textbox ad esempio i caratteri dal 20 al 40.![]()
Questa richiesta è totalmente diversa dalla prima.![]()
Comunque, il codice è più o meno quello del mio progetto.
Renditi conto che non è semplice fare quello che vuoi, anche se a prima vista parrebbe esserlo.
Se devi fare una routine generica (coem credo tu voglia) devi tener conto di tutti i fattori che entrano in gioco, in particolar modo:
- tipo di carattere usato
- dimensione dello stesso
Ad esempio, sembrerebbe semplice, a prima vista, fare quello che vuoi.
Basterebbe usare le funzioni stringa per ricavare i 20 caratteri.
Ad esempio questo codice fa quello che hai chiesto (ma stampa su un PictureBox):
Però non è corretto! Se lo provi ti accorgerai che spezza le parole.codice:Dim i As Long Dim testo As String Dim riga As String testo = Text1.Text ' la stringa di 80 caratteri Const larg = 20 ' numero di caratteri da stampare per riga Picture1.Print ' stampo una riga vuota For i = 1 To Len(testo) Step larg riga = Mid(testo, i, larg) Picture1.Print riga Next i
Quindi torniamo al codice del mio progetto AllineaTesto .
Sappilo, non è così banale come sembra.![]()
![]()