Можно ли создать окно сообщения, которое показывает HTML-содержимое? - PullRequest
0 голосов
/ 21 ноября 2008

Я хочу показать сообщения, которые выглядят хорошо, с возможностью использовать жирный / курсивный текст и текст с разными цветами. Стандартный MessageBox.Show не предоставляет эту функциональность.

Я пытался создать окно сообщения с помощью элемента управления WebBrowser для отображения красиво отформатированного текста с использованием HTML-синтаксиса. Но мне не удалось.

Знаете ли вы, если это возможно, или вы знаете какой-либо другой способ показать окно сообщения с форматированным текстом? Я хочу, чтобы размер окна сообщения динамически соответствовал его содержимому.

(для Windows Forms)

Ответы [ 3 ]

1 голос
/ 21 ноября 2008

Вы можете создать свой собственный класс Form, в котором размещается элемент управления WebBrowser (или элемент управления RTF) для отображения отформатированного содержимого. Просто дайте ему интерфейс (API), похожий на MessageBox, чтобы вы могли использовать его почти таким же образом (например, проверяя ответы пользователя «Да / Нет» или «ОК / Отмена / и т.д.»).

Для определения размера вам, вероятно, потребуется проверить отображаемый контент и использовать некоторые возможности System.Drawing, чтобы получить размер шрифтов / контента для него. Затем измените размер окна и / или покажите и скройте полосы прокрутки, чтобы они отображались только в случае крайней необходимости.

0 голосов
/ 23 августа 2012

HTML MessageBox, о котором я упоминал в предыдущем ответе, теперь бесплатен и доступен по адресу www.software4nonprofits.com/HtmlMessageBox. (Старый URL-адрес исчез некоторое время назад - извините!)

0 голосов
/ 13 мая 2009

Я только что создал и опубликовал продукт, HTML MessageBox, который точно решает проблему Микаэля. Это заменитель стандартного вызова MessageBox Windows API, который позволяет использовать полужирный шрифт, подчеркивание, курсив и шрифты. И он ведет себя как стандартные MessageBoxes, автоматически изменяет размер сообщения, перенос слов и т. Д. Кроме того, это небольшой элемент управления с ручным кодом, который не использует тяжелое окно IE для отображения HTML.

В продукт включены интерфейсы для его вызова со стандартным соглашением о вызовах API Windows, либо через COM, либо из класса .NET. (Также PowerBuilder, потому что я изначально создал это для работы в своем собственном приложении PowerBuilder!)

Это на www.HTML-MessageBox.com.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...