2009-08-25 3 views
4

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

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

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

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

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

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

ответ

1

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

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

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

+0

Спасибо, что я использовал DevExpress с Delphi. Это было хорошо. Единственная проблема с их RichtextEditor заключается в том, что вам нужно купить весь пучок элементов управления winform, чтобы получить его. Я очень доволен Инфрасификацией, за исключением того, что их UltraFormatedTextEditor нуждается в дополнительной работе для удовлетворения моих требований. После текстового редактора следующий наиболее важный элемент управления - хороший инструмент проверки орфографии. Похоже, текстовый редактор Dev Express может быть совместим с одним из них. Оба претендуют на работу с std-элементами управления текстовыми элементами winform. Возможно, он немного опоздал, чтобы переключить библиотеки управления после того, как мы инвестировали в Infragistics. – 2009-08-26 06:57:27

+0

Для DevExpress, если вы покупаете полный пакет, вы можете получить исходный код. На данный момент, если вы заинтересованы, вы можете обновить источник для реализации ISupportSpellChecking и вызвать собственный механизм проверки орфографии devexpress. DevExpress позволяет вам перекомпилировать их DLL. –

1

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

0

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

+0

Это выглядит очень хорошо для редактора исходного кода. Я не думаю, что он подходит для замены richtextbox. Я мог ошибаться, но у меня такое впечатление. Я думаю, что это было бы очень полезно для других приложений, таких как редактор сценариев. – 2009-08-26 07:01:19

0

Вы всегда можете попробовать 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.длл, которая (на моей машине) находится по адресу:

C: \ Program Files \ Reference Сборки \ Microsoft \ Tablet PC

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

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

Смежные вопросы