2011-08-22 11 views
15

È possibile aprire un LinkLabel nel browser Web dei computer predefinito?LinkLabel ... aperto nel browser Web predefinito?

+1

beh, è ​​il comportamento predefinito una volta impostato un url valido valido. Che tipo di problema stai avendo e come appare il tuo codice finora? –

+1

Stavo cercando nelle Proprietà qualcosa che l'avrebbe avviato. Inizialmente ho provato a impostare un indirizzo url sulla proprietà .Text e ovviamente non funzionava. – acctman

+0

Non capisco l'esistenza di questo controllo, probabilmente perché faccio don capire come usarlo – beppe9000

risposta

33

sì - è possibile utilizzare System.Diagnostics.Process.Start(url) nell'evento "link cliccato".

+1

quindi qualcosa di simile vuoto linkSubmit_LinkClicked privato (object sender, LinkLabelLinkClickedEventArgs e) { System.Diagnostics.Process.Start (linkSubmit .text as String); } – acctman

+0

Grazie ...: D: D –

9

Io li uso sempre così. In questo modo otterrai il browser predefinito per aprire l'URL.

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

Ecco una soluzione ispirata MSDN che funziona senza hardcoding l'URL nel codice:

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; 
} 

È quindi possibile utilizzare facilmente LinkArea per avere un testo non-collegamento ipertestuale attorno il link.

Problemi correlati