RichTextBox Замена Winforms .NET2.0 + - PullRequest
4 голосов
/ 25 августа 2009

Я расширил элемент управления RichTextBox в VS2008, используя C # (добавив поддержку принтера и ссылки URL). У меня есть большая часть функциональности, которая мне нужна, но контроль не так хорош. Я не знаю, как изменить курсор мыши для ручек изменения размера изображения. Пули вылезают из мешков с размером и цветом. Мне нужно это для winforms не asp.net или wpf. Я предпочитаю rtf редакторам html wysiwyg.

Большинство замен richtextbox либо слишком старые .NET 1.0 / 1.1, либо слишком простые, либо слишком сложные и дорогие.

Я использую управляющие библиотеки Infragistics, и их ближайший к richtextbox элемент управления не совсем обеспечивает всю необходимую функциональность. Они предоставляют элемент управления для проверки орфографии, который работает как с текстовыми элементами управления, так и с текстовыми полями std winforms и richtextbox. Он будет работать с любым элементом управления, который реализует интерфейсы IProvideTextBox или ISupportSpellChecking. К сожалению, большинство функционально богатых замен текстовых полей предоставляют свои собственные элементы управления надстройкой для проверки орфографии, которые не поддерживают IProvideTextBox или ISupportSpellChecking. Я хочу распространить 1-й словарь для пользователей с моим приложением, а не несколько, которые должны быть синхронизированы.

Другое дело, что richtextbox представляет собой простой элемент управления. Вы должны добавить свои собственные элементы управления меню и подключить вещи самостоятельно. Большинство дорогих замен обеспечивают готовую панель инструментов. Это хорошо, но если кто-то разрабатывает согласованный внешний вид для всех приложений, то необходимость в удалении панели инструментов вендора делает это трудным, поскольку теперь у него есть этот странный набор кнопок меню, которые выглядят и ведут себя по-другому, чем остальная часть моего пользовательского интерфейса. Кроме того, я использую стайлер приложений для оформления своих приложений. Сторонние элементы управления меню вряд ли приспособят этот стиль.

Может ли кто-нибудь предложить разумную замену элемента управления RichTextBox, которую я мог бы использовать, которая не будет стоить земли, работает в winforms, поддерживает RTF и является надежной с правильными переходами мыши для манипуляторов размеров изображения и с надежной поддержкой маркеров.

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

Ответы [ 4 ]

1 голос
/ 25 августа 2009

Хотя у меня нет большого опыта работы с RichTextBox es, в прошлом я имел большой успех с пакетом управления DevExpress (намного, намного лучше, чем Infragistics, IMHO). Я также знаю, что за последние несколько месяцев они выпустили новый редактор RTF, так что я бы определенно посмотрел на него.

1 голос
/ 25 августа 2009

Мы используем DevExpress Rich Text Editor , здесь мы очень довольны. Цена не высокая, а поддержка невероятная.

Редактор также встраивается в их сетку, если вы хотите купить весь пакет.

Под adorner вы имеете в виду панель инструментов Office 2007, которая появляется над выделенным текстом?

0 голосов
/ 12 сентября 2009

Вы всегда можете попробовать Microsoft Inkedit Control, если у вас есть ОС, поддерживающая его (у меня были проблемы с 64-битным WS2008 и Windows XP, но с остальными все было в порядке).

InkEdit наследуется от RichTextBox, поэтому вы можете:

        private System.Windows.Forms.RichTextBox richTextBox3;
        try
        {
            this.richTextBox3 = new Microsoft.Ink.InkEdit();
            Microsoft.Ink.InkEdit ie = (Microsoft.Ink.InkEdit)richTextBox3;
            // disable tablet-style ink mode
            ie.InkMode = Microsoft.Ink.InkMode.Disabled;
        }
        catch
        {
            \\ in case platform does not support inkedit control
            this.richTextBox3 = new RichTextBox();
        }

Вам нужно будет добавить ссылку на файл Microsoft.Ink.dll, который (на моей машине) находится по адресу:

C: \ Program Files \ Справочные сборки \ Microsoft \ Tablet PC

Если вы не хотите использовать этот элемент управления чернилами, то, вероятно, нет существенных преимуществ с точки зрения функций. Но я заметил, что загрузка текста для длинных файлов (10x +) намного быстрее, чем в предыдущем RichTextBox, а также, кажется, более плавная прокрутка.

Это, кажется, не объявлено, но Visual Studio 2010 B1 также имеет обновленный элемент управления RichTextBox.

0 голосов
/ 25 августа 2009

Я использую ScintillaNet , но он также в некотором роде (очень) сложен.

...