Когда я добавляю www.stackoverflow.com в свой RichTextBox и запускаю программу, он отображается синим цветом и как гиперссылка, но когда я нажимаю, ничего не происходит. Как я могу это исправить?
Как я могу сделать работу с гиперссылкой в RichTextBox?
Ответ 1
-
Убедитесь, что свойство text содержит действительный URL. Например. http://www.stackoverflow.com/
-
установите для свойства DetectUrls значение true
-
Напишите обработчик событий для события LinkClicked.
Лично я не передал бы "IExplore.exe" в качестве параметра для вызова Process.Start, как советует Microsoft, поскольку это предполагает, что он установлен, и является предпочтительным браузером пользователя. Если вы просто передаете URL-адрес для запуска процесса (как указано ниже), то Windows сделает все правильно и запустит предпочтительный браузер пользователя с соответствующим URL-адресом.
private void mRichTextBox_LinkClicked (object sender, LinkClickedEventArgs e) {
System.Diagnostics.Process.Start(e.LinkText);
}
Ответ 2
Класс RichTextBox позволяет настроить его поведение, когда пользователь нажимает на гиперссылку. Добавьте обработчик событий для событие RichTextBox.LinkClicked
Process p = new Process();
private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
{
p = Process.Start("IExplore.exe", e.LinkText);
}
Ответ 3
Установлено ли значение yourTextBox.DetectUrls
равным true? Нам может понадобиться дополнительная информация, чтобы дать лучший ответ.
Ответ 4
Вы должны убедиться, что для параметра DetectUrls
установлено значение true
. Если это не работает само по себе, вам может потребоваться добавить обработчик для события LinkClicked
.