Какой элемент управления winforms отображает сообщение с незначительным форматированием HTML? - PullRequest
1 голос
/ 19 февраля 2009

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

Если пользователь щелкает ссылку в моем сообщении, я хочу, чтобы она открывалась в браузере по умолчанию, а не в моем приложении.

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

Ответы [ 4 ]

1 голос
/ 13 августа 2010

Я реализовал HTML-элемент управления для .NET, который может делать то, что вы хотите: подробности см. http://www.modeltext.com/html.

Элемент управления может отображать HTML, включая ссылки, и не использует браузер.

Что происходит, когда пользователь нажимает на ссылку, зависит от вас: элемент управления генерирует событие, которое может обрабатываться приложением, в которое встроен элемент управления; таким образом, ваше приложение будет создавать экземпляр элемента управления, заполнять его HTML, устанавливать обработчик событий и запускать браузер, когда его обработчику будет сообщено, что пользователь нажал на ссылку.

1 голос
/ 19 февраля 2009

Вы можете использовать элементы управления в этой статье на CodeProject или использовать их в качестве примера для того, чтобы свернуть свои собственные.

0 голосов
/ 19 февраля 2009

Я думаю, что лучшим решением в моем случае может быть использование RichTextBox, который имеет свойство DetectLinks и событие LinkClicked, которое сообщает вам, по какой ссылке щелкнули Я посмотрю на это дальше ...

0 голосов
/ 19 февраля 2009

Если вам нужна только функция связи, вы можете использовать элемент управления LinkLabel. Предполагая, что вы установили свойство LinkLabel.Tag в URL, следующий код откроет браузер по умолчанию и откроет указанную веб-страницу:

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    Process.Start((string) ((sender as LinkLabel).Tag));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...