[.net, winforms] Вопросы по выводу текста
если только вывод, то генери html и выводи через компонент htmlbrowser.
либо смотри в сторону wpf
Чтобы в любой момент получить текст на контролле используй richTextBox1.Text или привяжи databinding'ом это поле к любой своей переменной (что, по-моему, совсем ненужно или обработай событие TextChanged.
Не бойся приставки Rich - никто тебя не заставляет при этом использовать именно Rtf

нужен вывод или вывод+редактирование?И то, и другое.
То есть есть контролы, где только вывод, но есть и с возможностью ввода.
если только вывод, то генери html и выводи через компонент htmlbrowser.В смысле WebBrowser?
wpfА он тоже только под вистой работает?
используй RichTextBox - это проще гораздо
А ты на каком таком языке пишешь?C#
Но это разве важно?
Чтобы в любой момент получить текст на контролле используй richTextBox1Так если я получу richTextBox1.Text, изменю его и присвою обратно, форматирование сбросится или нет? А если править сам richTextBox1.Text?
Не бойся приставки Rich - никто тебя не заставляет при этом использовать именно RtfЕсли выбирать между rtf и html, то последний по крайней мере рассчитан на правку кода
да
> А он тоже только под вистой работает?
работает и на xp
Это единственный способ работы с RichTextBox ?
Или есть другие?
Например с DOM-ом документа в RichTextBox работать можно?
Выделил-ИзменилА чем это плохо?...
Если надо будет созранить текущую позицию - пожалуйста, сохраняй перед изменениями и восстанавливай.
А чем это плохо?Если документ уже есть и с ним просто нужно работать в интерактивном режиме - все хорошо

Но у меня есть контролы, куда текст попадает после жестокого парсинга

То есть он все равно формируется из частей и разумно его сразу и форматировать.
А то потом по второму разу парсить придется

Или с RichTextBox можно нормально работать, добавляя по частям текст, форматируя добавленное, опять добавляя и форматируя?
если только цвет нужен, то там халява совсем

{\rtf1и у тебя A чёрная, B красная, C чёрная, D жёлтая, "\cf_" - переключатель текущего цвета.
{\colortbl ;\red255\green0\blue0;\red255\green255\blue0;}
A\cf1 B\cf0 C\cf2 D
}
так что вставить туда раскрашенный текст - не проблема (через св-во Rtf)
достать оттуда его мб, сложнее, но если не шибко вникать, то можно просто игнорировать все последовательности \xxx, концом считая пробел или \, кроме \cf и \colortbl - и будет вселенское счастье

Оставить комментарий
durka82
Пишу приложение, которое должно выводить много разных текстовых данных, но как-то не очень получается.1. Как сделать выделение цветом в текстовом поле? Ну или какое правильное текстовое поле использовать?
2. Как отобразить неотображаемые символы в TextArea?
3. До присвоения текста в TextArea ввод с клавиатуры работает, а после - нет. С чем это связано? Или это глюк?
4. Как сделать, чтобы все изменения поля меняли переменую? Соотв события есть только у ДатаБиндинга. Или только так оно и делается?
Пробовал использовать TextArea и RtfTextArea.
Во втором конечно можно все раскрасить, но не хочется привязываться к Rtf, да и механизм не очень понравился.