2011-08-22 22 views
15

¿Es posible abrir un LinkLabel en el navegador web de las computadoras predeterminadas?LinkLabel ... abrir en el navegador web predeterminado?

+1

Bueno, es el comportamiento predeterminado una vez que haya configurado una URL válida. ¿Qué tipo de problema tienes y cómo se ve tu código hasta ahora? –

+1

Estaba buscando en las Propiedades algo que lo iniciara. Originalmente probé simplemente establecer una dirección URL a la propiedad .Text y, por supuesto, eso no funcionó. – acctman

+0

No entiendo la existencia de este control, probablemente porque yo don entender cómo usarlo – beppe9000

Respuesta

33

sí - puede usar System.Diagnostics.Process.Start(url) en el evento "enlace hecho clic".

+1

así que algo como esto vacío linkSubmit_LinkClicked privada (object sender, LinkLabelLinkClickedEventArgs e) { System.Diagnostics.Process.Start (enlaceEnviar .text como cadena); } – acctman

+0

Gracias ...: D: D –

9

Siempre los uso así. De esta forma, obtendrás el navegador predeterminado para abrir la URL.

ProcessStartInfo sInfo = new ProcessStartInfo("http://www.google.com"); 
Process.Start(sInfo); 
4

he aquí una solución inspirada en MSDN que funciona sin codificar la URL en su código:

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) 
{ 
    string url; 
    if (e.Link.LinkData != null) 
     url = e.Link.LinkData.ToString(); 
    else 
     url = linkLabel1.Text.Substring(e.Link.Start, e.Link.Length); 

    if (!url.Contains("://")) 
     url = "http://" + url; 

    var si = new ProcessStartInfo(url); 
    Process.Start(si); 
    linkLabel1.LinkVisited = true; 
} 

A continuación, puede utilizar simplemente LinkArea para que el texto no-hipervínculo alrededor del enlace.

Cuestiones relacionadas