Вопрос

У меня проблема с .net Richtextbox контроль. Похоже, что он не поддерживает форматирование табличных ячеек, что забавно, потому что большую часть времени я создаю таблицы, я хочу, чтобы содержимое ячейки было выровненным (числами, валютой).

Если я попытаюсь открыть документ WordPad в RichTextBox, он игнорирует (и на самом деле Удаляет) команды для выравнивания ячейки. Я попробовал несколько обходных путей, но не преуспел.

  1. Может ли кто -нибудь подумать о идее исправить это? (Без использования шрифтов и пробелов с фиксированной шириной) Это было бы лучшим решением, так как другой код уже работает нормально, поэтому, если только что нужно, это грязный хак, это было бы здорово.

  2. Или есть альтернатива с открытым исходным кодом для текстового редактора .NET, который вы можете порекомендовать? Мне нужен пользовательский элемент управления, который я могу внедрить в форму Windows и получить доступ к содержимому программно (создавать контент или что -то добавить). Я некоторое время искал в Интернете, но нашел только веб -элемент управления (AJAX/JavaScript).

  3. Существуют также редакторы HTML Wysiwyg, которые я мог бы использовать, но все они в основном представляют собой браузер IE, встроенный и отредактированный с использованием MSHTML, и это немного странно иметь это в приложении Winforms (возможно, я ошибаюсь). И в этом случае нам понадобится дополнительное время для реализации генератора контента для HTML - хотя его намного проще читать и генерировать, чем RTF IMHO.

  4. Что вы, ребята, считаете лучшими для этой цели?

Это было полезно?

Решение

Если вы все еще идете по пути .NET Winforms, тогда наследуйте от RichTextBox и добавите следующий код, он преобразует RichTextBox в нечто «полезное»:

[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
static extern IntPtr LoadLibrary(string lpFileName);

protected override CreateParams CreateParams
{
    get
    {
       CreateParams cparams = base.CreateParams; 
       if (LoadLibrary("msftedit.dll") != IntPtr.Zero)
       {
          cparams.ClassName = "RICHEDIT50W";
       }
       return cparams;
     }
}

Поиск из здесь.

Хорошего дня:)

Другие советы

3. Есть также редакторы HTML Wysiwyg, которые я мог бы использовать, но все они в основном встроены и отредактированы с использованием MSHTML, и это немного странно иметь это в приложении Winforms (возможно, я ошибаюсь).

Я написал редактор HTML Wysiwyg: The ModelText HTML Control для .NET. Анкет Это чистый управляемый код, без зависимости от браузера; Он экспортирует .NET API, которые позволяют вам программно получить доступ к его содержимому.

Следующая версия, которая будет выпущена (через несколько дней), будет поддерживать выравнивание ячеек (поддерживая свойство CSS «Text-Align»).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top