TextBox e caratteri return

di il
5 risposte

TextBox e caratteri return

Ciao a tutti, una curiosità: devo aprire un file *.txt e riversare il contenuto in una finestra; per il momento lo riverso in una textBox ( anche se sarebbe di sola lettura) ma il problema è che man mano che leggo le stringhe dallo stream (metodo ReadLine() ) e le aggiungo sia con il comando

TextBox.Text+= streamReader.ReadLine();

o con

TextBox.AppendText(streamReader.ReadLine());

non mi riconosce il carattere return e quindi non mi separa le righe ( cosa per me fondamentale ).
Ho provato ad aggiungere il solo carattere \n dopo la lettura della stringa ma non cambia nulla ( anzi, visualizza il carattere \n con un rettangolino).
Chi mi può aiutare?
Eventualmente, esiste un altro tipo di TextBox (tipo TextArea di Java) che implementa meglio il mio scopo o devo passare per delle label?

"Could be worse" -"Perhaps?"
"Could be raining!"

5 Risposte

  • Re: TextBox e caratteri return

    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    Ciao a tutti, una curiosità: devo aprire un file *.txt e riversare il contenuto in una finestra; per il momento lo riverso in una textBox ( anche se sarebbe di sola lettura) ma il problema è che man mano che leggo le stringhe dallo stream (metodo ReadLine() ) e le aggiungo sia con il comando

    TextBox.Text+= streamReader.ReadLine();

    o con

    TextBox.AppendText(streamReader.ReadLine());

    non mi riconosce il carattere return e quindi non mi separa le righe ( cosa per me fondamentale ).
    Ho provato ad aggiungere il solo carattere \n dopo la lettura della stringa ma non cambia nulla ( anzi, visualizza il carattere \n con un rettangolino).
    Chi mi può aiutare?
    Eventualmente, esiste un altro tipo di TextBox (tipo TextArea di Java) che implementa meglio il mio scopo o devo passare per delle label?

    "Could be worse" -"Perhaps?"
    "Could be raining!"
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->

    Invece di usare \n prova ad usare Chr(10).
    Opppure, credo meglio ancora:

    TextBox.Text = sr.ReadToEnd() 'Dove sr è lo StreamReader

    Fammi sapere se funziona.

    Ciao e Buone Feste.

    SuperCap



    (Le risposte che lascio sono limitate alle mie conoscenze sull'argomento trattato. Quindi potrei anche sbagliare!)
  • Re: TextBox e caratteri return

    Ciao.
    In c# non so se esista l'equivalente, ma in vb.net esiste la funzione speciale vbCrLf, che indica "nuova riga".
    Quindi ogni volta che leggi una riga puoi appendere questa funzione alla fine di ogni lettura.
    Anche io ho riscontrato questo problema con le textbox, l'ho risolto usando un file XML, non so dirti il perchè ma il testo contenuto in un xml (ovviamente leggendo attraverso un dataset) me lo formatta correttamente.
    L'ultima strada possibile (un paio di volte ha funzionato) è associare un file css o associare uno stile alla pagina.
    Prova......
    Tiziano
  • Re: TextBox e caratteri return

    L'MSDN Library dice che la stringa restituita dalla funzione ReadLine() non termina con il ritorno a capo o l'avanzamento di riga.
    Proprio per questo suggerivo ReadToEnd.

    SuperCap



    (Le risposte che lascio sono limitate alle mie conoscenze sull'argomento trattato. Quindi potrei anche sbagliare!)
  • Re: TextBox e caratteri return

    Grazie a tutti, nel frattempo ho trovato un'altra maniera per risolvere la faccenda, una maniera a livello di memoria allocata forse un po' più dispendiosa...
    In pratica ho creato un array di stringhe e l'ho poi copiato in TextBox.Lines ( che è per l'appunto un array di stringhe) così facendo nel pfrattempo ho anche convertito le singole linee in dati numerici ( cosa che mi premeva di più). Comunque grazie a tutti, i vostri suggerimenti senz'altro verranno utili in un altro momento!

    "Could be worse" -"Perhaps?"
    "Could be raining!"
  • Re: TextBox e caratteri return

    Come non detto, alla fine ho usato l'istruzione

    TextBox.Text=StreamReader.ReadToEnd();

    che funziona alla perfezione
    anche perchè così facendo ho risolto diversi problemi legati alla dimensione effettiva dell'array di dati.
    Grazie a tutti!

    "Could be worse" -"Perhaps?"
    "Could be raining!"
Devi accedere o registrarti per scrivere nel forum
5 risposte