Oppure

Loading
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".
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..8-|
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?:-| :heehee:
Ciao Grazie!
aaa
16/10/11 19:36
GN
Per mostrare i tasti evidenziati, basta leggere le proprietà Bold, Italic e Underlined della proprietà SelectionFont della RichTextBox ad ogni evento SelectionChanged e impostare le proprietà Checked dei pulsanti di conseguenza; per la stampa è più facile usare un PrintDocument e una PrintDialog: dai un'occhiata qui msdn.microsoft.com/it-it/library/….
aaa