Как создать полосатый richtextbox? - PullRequest
0 голосов
/ 27 октября 2011

Мне нужно отобразить текст в RichtTextBox с зеленым полосатым фоном.Это означает, что первая строка имеет белый фоновый цвет, вторая имеет зеленый фоновый цвет, третья имеет белый цвет, следующий зеленый снова и т. Д.

Как это реализовать?

Единственный способ, которым я представляю сейчас, - это установить цвет для каждой текстовой строки.Но я должен был бы заполнить каждую строку пробелами, чтобы получить целые строки.Этот способ кажется мне плохой практикой.

Я думаю о чем-то вроде события OnPaint и т. Д., Где я могу установить цвет фона для каждой строки перед отображением текста.

Если естьдругой TextControl, который может решить мою проблему, или я должен реализовать собственный элемент управления, это тоже приемлемое решение.Просто дай мне подсказку.

PS: я использую .Net2.0.

1 Ответ

1 голос
/ 01 ноября 2011

Одним из вариантов достижения этой цели будет использование проекта http://scintillanet.codeplex.com/ с открытым исходным кодом.Другой пользователь SO спросил, как чередовать цвета строк с помощью этого конкретного инструмента: Альтернативное окрашивание строк в Scintilla

Если вы не против платить за это, WPF Редактор синтаксиса Actipro поддерживает эту функцию, хотя я не уверен, что версия WinForm поддерживает.

Последний вариант - использовать код из # Develop или WPF AvalonEdit

...