Takhle, jde o to, že HTML má prostředky pro poměrně bohaté formátování textu, ale tím, že budeš šťouchat do DOMu, to šíleně zpomalíš. Samotné vykreslování a renderování HTML není triviální záležitost (důkazem toho nechť je to, že ještě neexistuje prohlížečka, která by to uměla nez jediné chyby, ono to ani nejde) a pokud bys v tomto řešení editoval víc než 5kB textu, tak to bude zatraceně pomalé. HTML má prostě strašný overhead, kvůli změně barvy je tam něco jako <span style="color:#ff0000">, to je zbytečně moc bajtů a špatně se to parsuje. Dá se využít RichTextBox, který bude rychlejší, protože je na podobné věci dělaný, ale podle mého názoru je nejlepší napsat si úplně vlastní komponentu. System.Drawing určitě používat umíš (chce ho vlastně jenom metody DrawString a MeasureString, která měří, kolik místa text zabere) a pár dalších udělátek. Horší už to bude s chytáním kláves a tak, a pak už si na to napíšeš nějak to zvýrazňování syntaxe (a když si to pěkně navrhneš, tak tu komponentu budeš moct použít obecně). To, co s WebBrowserem provádíš, už je i na mě moc, musel bych půl hodiny studovat dokumentaci, abych ti mohl poradit. Když si napíšeš vlastní komponentu, hodně se toho naučíš. A nejdřív si zkus na papír rozmyslet, které metody by se ti mohly hodit, určitě nezačínej hned programovat.
|