c# - una - ¿Cómo puedo hacer que un hipervínculo funcione en un RichTextBox?
hipervinculos en html ejemplos (4)
Asegúrese de que la propiedad del texto incluya una url válida. Ej. http://www.stackoverflow.com/
establecer la propiedad DetectUrls en true
Escriba un controlador de eventos para el evento LinkClicked .
Personalmente, no pasaría "IExplore.exe" como un parámetro para la llamada a Process.Start tal como lo aconseja Microsoft, ya que esto presupone que está instalado y es el navegador preferido del usuario. Si acaba de pasar la url para procesar el inicio (como se indica a continuación), Windows hará lo correcto y activará el navegador preferido del usuario con la URL correspondiente.
private void mRichTextBox_LinkClicked (object sender, LinkClickedEventArgs e) {
System.Diagnostics.Process.Start(e.LinkText);
}
Cuando agrego www.stackoverflow.com en mi RichTextBox y ejecuto el programa, aparece en azul y como hipervínculo, pero cuando hago clic en él no sucede nada. ¿Cómo puedo arreglar esto?
¿ yourTextBox.DetectUrls
está establecido en verdadero? Es posible que necesitemos más información para proporcionar una mejor respuesta.
Debe asegurarse de que DetectUrls
esté configurado en true
. Si eso no funciona por sí solo, es posible que deba agregar un controlador para el evento LinkClicked
.
La clase RichTextBox le permite personalizar su comportamiento cuando el usuario hace clic en el hipervínculo. Agregue un controlador de eventos para el evento RichTextBox.LinkClicked
Process p = new Process();
private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
{
p = Process.Start("IExplore.exe", e.LinkText);
}