16/10/11 14:33
Renny
Ciao a tutti. Nel mio programma avrei la necessità di permettere all'utente di inserire del testo (3,4 righe). Avevo pensato usare una richtextbox, in modo da offrire un minimo di formattazione (grassatto, corsivo, sottolineato) al testo.
Ho fatto un po' di prove ho uso questo codice per settare il grassetto; funziona sia per testo selezionato sia per settare il grassetto dal cursore "in avanti".
E' questa la modalità migliore? O ci sono comandi specifici?
Ho notato una cosa: negli editor "decenti", quando il cursore si sposta nel testo in grassetto, il TASTO "grassetto" diventa evidenziato, per sottolineare che il testo, dov'è il cursore è formattato. Come si potrebbe fare per ottenere lo stesso effetto? Dovrei gestire tutti gli eventi che agiscono sulla posizione del cursore? e .. poi? E' fattibili, senza sprecare tante risorse? Sennò quello è un dettaglio trascurabile..
Poi, il testo inserito lo volevo salvare in un database, ma quello è facile, salvo la stringa rtf con i suoi tags. Più difficile invece è stampare il testo. Nel mio programma uso questa libreria, davvero ottima devo dire: pdfsharp.net/…
Per inserire del testo formattato pasta usare la funzione:
Quindi, per fare questo devo avere prima il testo inserito nella richtextbox pulito di tutti i tags eccetto quelli relativi alla formattazione che mi interessa...
Devo larorare di regex, mi sa.. Mo mi metto a studiare un po' sta cosa.
Voi avete suggerimenti?
Ciao Grazie!
Ho fatto un po' di prove ho uso questo codice per settare il grassetto; funziona sia per testo selezionato sia per settare il grassetto dal cursore "in avanti".
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim CurrentFont As Font = rtfBox.SelectionFont If CurrentFont.Bold = True Then rtfBox.SelectionFont = New Font(rtfBox.Font, FontStyle.Regular) Else rtfBox.SelectionFont = New Font(rtfBox.Font, FontStyle.Bold) End If End Sub
E' questa la modalità migliore? O ci sono comandi specifici?
Ho notato una cosa: negli editor "decenti", quando il cursore si sposta nel testo in grassetto, il TASTO "grassetto" diventa evidenziato, per sottolineare che il testo, dov'è il cursore è formattato. Come si potrebbe fare per ottenere lo stesso effetto? Dovrei gestire tutti gli eventi che agiscono sulla posizione del cursore? e .. poi? E' fattibili, senza sprecare tante risorse? Sennò quello è un dettaglio trascurabile..
Poi, il testo inserito lo volevo salvare in un database, ma quello è facile, salvo la stringa rtf con i suoi tags. Più difficile invece è stampare il testo. Nel mio programma uso questa libreria, davvero ottima devo dire: pdfsharp.net/…
Per inserire del testo formattato pasta usare la funzione:
paragraph.AddFormattedText("bold", TextFormat.Bold)
Quindi, per fare questo devo avere prima il testo inserito nella richtextbox pulito di tutti i tags eccetto quelli relativi alla formattazione che mi interessa...
Devo larorare di regex, mi sa.. Mo mi metto a studiare un po' sta cosa.
Voi avete suggerimenti?
Ciao Grazie!
aaa