La solución proporcionada por el Sr. Jamie García es un gran uno, al que hace referencia el artículo de MSDN enlace suministrado. Sin embargo, dado que esta solución se propuso hace mucho tiempo, me gustaría proponer una actualizada.
El MSDN solution inicia Internet Explorer y pasa la URL al programa directamente. Creo que un enfoque mejor (y más centrado en el usuario) sería lanzar el enlace dentro del navegador web predeterminado del usuario.
Aún configuramos un controlador de eventos para el evento LinkClicked
de nuestro control RichTextBox
, pero con algunos cambios. Aquí está el código completo:
// Event raised from RichTextBox when user clicks on a link:
private void richTextBox_LinkClicked(object sender, LinkClickedEventArgs e)
{
LaunchWeblink(e.LinkText);
}
// Performs the actual browser launch to follow link:
private void LaunchWeblink(string url)
{
if (IsHttpURL(url)) Process.Start(url);
}
// Simple check to make sure link is valid,
// can be modified to check for other protocols:
private bool IsHttpURL(string url)
{
return
((!string.IsNullOrWhiteSpace(url)) &&
(url.ToLower().StartsWith("http")));
}
Como los estados MSDN article, la propiedad DetectUrls
del control RichTextBox
está activado por defecto, por lo que cualquier válida HTTP/HTTPS URLs aparecerá automáticamente como hipervínculos subrayados.
Esto le permitirá comenzar ... [http://www.codeproject.com/KB/edit/RichTextBoxLinks.aspx](http://www.codeproject.com/KB/edit/RichTextBoxLinks.aspx "Texto enriquecido Box Links ") ¡Buena suerte! –