Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [C#] RichTextBox e colorazione codice

    Mi chiedevo se fosse possibile implementare in una RichTextBox la colorazione in stile Codice.

    Ho visto che è possibile colorare il testo in base ad un selezione, ma ricolorare un testo molto lungo richiede tempo, quindi, visto che se io apro anche un programma banalissimo come Scite, la colorazione è istantanea, mi chiedevo se c'era qualche impostazione di base della RichTextBox per fare questa cosa...

    Potete aiutarmi?

    Tnx

  2. #2
    Porc, non ha risposto nessuno ma sto messaggio ha un record di letture!

    Tocca che mi do da fare a trovare una soluzione!


  3. #3

  4. #4
    Purtroppo fino ad ora non sono riuscito a trovare una soluzione adeguata.

    Il mio problema non è come fare, perché di sistemi se ne trovano molti, il problema grosso è il carico di lavoro che l'applicazione deve sopportare per colorare il testo.

    Se prendiamo come esempio un qualsiasi ide (anche molto semplici come Scite) all'apertura di un codice, per quanto lungo possa essere questo, ci mette lo stesso tempo che ci metterebbe se il codice fosse tutto nero.

    Ciò fa pensare che la colorazione del testo avvenga ad un lvello più basso ripetto a quello di mettersi a cercare parola per parola i vari tag e colorarli.

    Se ad esempio prendo un codice di circa 10.000 caratteri e lo apro con scite lo colora all'istante, mentre se lo do in pasto a vari applicativi trovati per colorare il testo in C# vedo che fa un gran lavoro di sfarfallamento mettendoci circa 5-6 secondi (ed un codice da 10.000 caratteri non è poi tanta roba).

    Mi viene da pensare che non sia una cosa fattibile in C#...

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Sicuramente è un problema di update, essendo che l'impiego di l'operazione di formattazione è direttamente proprozionale alla quantià di teto da formattare, e richiede tempo e risorse.

    Per velocizzare l'operazione di solito si usa chiamare prima LockWindowUpdate per impedire il refresh della finestra, poi per riattivarlo.

    http://www.pinvoke.net/default.aspx/...dowUpdate.html


  6. #6
    Purtroppo la situazione migliora solo leggermente, ma il grosso singulto per laricerca in tutto il testo gli prende comunque... ora vedo cosa si può combinare...

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.