Нужно реализовать многострочное текстовое поле с возможностью выделения текста разными шрифтами, цветом, возможностью добавлять изображения, возможностью добавлять строку в конец текста, добавлять гиперссылки и отслеживать, какая из них была нажата, возможностью "заморозки" скроллирования или его управления, чтобы всегда было видно последнюю добавленную строку. Текстовое поле нужно для чата на C#. Возможно ли это все реализовать стандартными средствами или нужно искать сторонний компонент?
Здравствуйте, vers, Вы писали:
V>Нужно реализовать многострочное текстовое поле с возможностью выделения текста разными шрифтами, цветом, возможностью добавлять изображения, возможностью добавлять строку в конец текста, добавлять гиперссылки и отслеживать, какая из них была нажата, возможностью "заморозки" скроллирования или его управления, чтобы всегда было видно последнюю добавленную строку. Текстовое поле нужно для чата на C#. Возможно ли это все реализовать стандартными средствами или нужно искать сторонний компонент?
Вижу два варианта:
1) Использовать контрол RichTextBox
2) Использовать контрол WebBrowser
ммм... я бы наверное остановился на последнем т.к. в HTML(WebBrowser) заложено больше возможностей по форматиованию чем в RFT (RichTextBox). Да и фичу "добавлять гиперссылки и отслеживать, какая из них была нажата" на нём думаю проше будет сделать. Хотя конечно есть и минусы.... например если рисунке в браузере отключены то они будут отключены и в контроле WebBrowser.
Посмотри ещё этот компонент
HTMLayout/ и форум
http://www.rsdn.ru/Forum/Default.aspx?group=htmlayout... << RSDN@Home 1.2.0 alpha rev. 672>>
Мы были здесь. Но пора идти дальше. (с) Дуглас Коупленд, Рабы "Микрософт"
C>Вижу два варианта:
C>1) Использовать контрол RichTextBox
Смотрел, не нашел как в него добавить сразу отформатированную строку, например, строку с определенным цветом. Нашел лишь как добавить строку простого текста, выделить ее и сменить атрибуты выделения, что не есть гуд.
C>2) Использовать контрол WebBrowser
C>Хотя конечно есть и минусы.... например если рисунке в браузере отключены то они будут отключены и в контроле WebBrowser.
Зависимость от HTML не нравится

И от настроек браузера, например, от отображения картинок, от выбора кодировки итд.
Задача, вообще, стоит так: портировать приложение с Delphi на C#. В Delphi-приложении использовался сторонний компонент RichView, который и позволял все это делать — на нем можно написать Word за неделю (а еще он недорогой), а для .NET чего-то подобного я не нашел.