Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Løque
    Registrato dal
    Oct 2007
    Messaggi
    177

    [VB2010 WINFORM] Modificare ogni linea di una RichTextBox

    Vi chiedo se è possibile fare una cosa del genere, e se sì, come?
    Vorrei modificare il testo di una RichTextBox.
    Per spiegarmi meglio vi faccio un esempio.

    Se la RichTextBox contiene:

    ciao
    buongiorno
    buonasera

    Vorrei che venisse modificata in:

    aaaciao
    aaabuongiorno
    aaabuonasera

    Come posso fare?
    Løque

  2. #2
    Utente di HTML.it L'avatar di Vinsent
    Registrato dal
    May 2011
    Messaggi
    314
    Devi ciclare la RichTextBox con la sua proprietà Lines e poi usare il metodo Replace sul testo di ogni singola riga.
    http://msdn.microsoft.com/it-it/libr...v=VS.100).aspx
    http://msdn.microsoft.com/it-it/libr...g.replace.aspx

  3. #3
    Utente di HTML.it L'avatar di Løque
    Registrato dal
    Oct 2007
    Messaggi
    177
    Grazie Vinsent!

    Qualcosa comincia a funzionare!
    Il problema è che la funzione mi fa ottenere sempre e solo l'ultima linea della RichTextBox e non tutte. Quindi posso modificare solo l'ultima linea...

    Ho fatto in questo modo:

    Public Sub ViewMyTextBoxContents()
    Dim counter As Integer
    'Create a string array and store the contents of the Lines property.
    Dim tempArray() As String
    tempArray = TextBox1.Lines

    'Loop through the array and send the contents of the array to debug window.
    For counter = 0 To tempArray.GetUpperBound(0)
    'System.Diagnostics.Debug.WriteLine(tempArray(coun ter))
    TextBox2.Text = "test" & tempArray(counter)
    Next

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    ViewMyTextBoxContents()
    End Sub

    La funzione è quella del sito microsoft... ma misa che ho compreso male.
    Løque

  4. #4
    Utente di HTML.it L'avatar di Vinsent
    Registrato dal
    May 2011
    Messaggi
    314
    Vedi solo l' ultima perchè non fai in tempo a vedere le altre...con:
    codice:
    TextBox2.Text = "test" & tempArray(counter)
    ad ogni ciclo non fai altro che assegnare la stringa corrente della funzione alla textbox, vedi l' ultima appunto perchè è l' ultimo risultato...
    Se sostituisci con:
    codice:
    MsgBox("test" & tempArray(counter))
    in modo da fermare il ciclo fino a quando non dai l' OK, te ne puoi rendere conto.
    Comunque, per ottenere quello che vuoi, devi aggiungere il testo agli item della variabile tempArray e da questa riscrivere il testo nella textbox/richtextbox.

  5. #5
    Utente di HTML.it L'avatar di Løque
    Registrato dal
    Oct 2007
    Messaggi
    177
    Vinsent ci sono riuscito! Ho fatto un ciclo for e funziona alla perfezione.
    Per necessità ho fatto in modo che il testo venisse sovrascritto in base alla prima linea.
    Cioè, se la prima è = "test" lo sovrascrive in un modo, se è = "test1" lo sovrascrive in un altro.

    In questo modo il resto del testo lo sovrascrive tutto.
    Si potrebbe fare che lo sovrascrive fino a che non trova un'altra linea chiave che gli dice il prossimo testo come sovrascriverlo?
    Tipo:

    test
    testodasovrascrivere in base a test

    test1
    testodasovrascrivere in base a test1

    Qui trovi il codice di come ho fatto: http://pastebin.com/Vtmn1WCj
    Løque

  6. #6
    Utente di HTML.it L'avatar di Løque
    Registrato dal
    Oct 2007
    Messaggi
    177
    Non mi occorre più grazie comunque.
    Løque

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.