La LinkLabel VB.NET

LinkLabel, nuovo in Visual Basic .NET, è un controllo standard che consente di incorporare collegamenti in stile Web in un modulo. Come molti controlli VB.NET, questo non fa nulla che non si possa fare prima ... ma con più codice e più problemi. Ad esempio, VB 6 aveva il Navigare (e Navigate2 quando il primo si è rivelato inadeguato) metodi che è possibile utilizzare con una stringa di testo URL per chiamare una pagina Web.

LinkLabel è molto più conveniente e privo di problemi rispetto alle tecniche precedenti. Ma, in sincronia con l'architettura .NET, LinkLabel è progettato per essere utilizzato con altri oggetti per eseguire l'intero lavoro. È comunque necessario utilizzare un comando separato per avviare un'e-mail o un browser, ad esempio. Il codice di esempio è incluso di seguito.

L'idea di base è inserire l'indirizzo e-mail o l'URL Web nella proprietà Text di un componente LinkLabel, quindi quando si fa clic sull'etichetta, il LinkClicked l'evento è attivato. Ci sono oltre un centinaio di metodi e oggetti disponibili per l'oggetto LinkLabel, comprese le proprietà per gestire tutto ciò che potresti voler fare con un collegamento come cambiare il colore, il testo, la posizione, come si comporta quando lo fai clic ... qualunque cosa! Puoi anche controllare i pulsanti e le posizioni del mouse e verificare se alt, Cambio, o Ctrl i tasti vengono premuti quando si fa clic sul collegamento. Un elenco è mostrato nell'illustrazione seguente:

--------
Fare clic qui per visualizzare l'illustrazione
Fare clic sul pulsante Indietro sul browser per tornare
--------

Un oggetto con un nome davvero lungo viene passato anche a questo evento: LinkLabelLinkClickedEventArgs. Fortunatamente, questo oggetto è istanziato con il bel nome breve usato per tutti gli argomenti dell'evento, e. Il collegamento L'oggetto ha più metodi e proprietà. L'illustrazione seguente mostra il codice evento e il collegamento oggetto.

--------
Fare clic qui per visualizzare l'illustrazione
Fare clic sul pulsante Indietro sul browser per tornare
--------

Normalmente userete il Testo proprietà del collegamento oggetto per ottenere un URL o un indirizzo e-mail e quindi passare questo valore a System.Diagnostics.Process.Start.

Per visualizzare una pagina Web ...

System.Diagnostics.Process.Start ( "http://visualbasic.about.com")

Per avviare un'e-mail utilizzando il programma di posta elettronica predefinito ...

System.Diagnostics.Process.Start ("mailto:" & "[email protected]")

Ma sei davvero limitato solo dalla tua immaginazione nell'uso dei cinque sovraccarichi di Inizio metodo. Ad esempio, potresti iniziare il gioco del solitario:

System.Diagnostics.Process.Start ( "sol.exe")

Se si inserisce un file nel campo stringa, il programma di elaborazione predefinito per quel tipo di file in Windows avvia ed elabora il file. Questa dichiarazione visualizzerà MyPicture.jpg (se si trova nella radice dell'unità C :).

System.Diagnostics.Process.Start ( "C: MyPicture.jpg")

Puoi usare LinkLabel quasi come un pulsante semplicemente inserendo qualsiasi codice che ti piace nell'evento LinkClicked invece del metodo Start.

L'indagine su circa cento altre possibilità va oltre lo scopo di questo articolo, ma ecco alcuni esempi per iniziare.

Un nuovo concetto usato in LinkLabel è l'idea che ci possano essere più collegamenti in un LinkLabel e che siano tutti memorizzati in un LinkCollection genere. Il primo elemento, Links (0), nella raccolta viene creato automaticamente sebbene sia possibile controllare ciò che sta utilizzando LinkArea proprietà di LinkLabel. Nell'esempio seguente, la proprietà Text di LinkLabel1 è impostata su "FirstLink SecondLink ThirdLink" ma solo i primi 9 caratteri sono specificati come link. La collezione Links ha un Contare di 1 perché questo link è stato aggiunto automaticamente.

Per aggiungere più elementi alla raccolta Link, basta usare il Inserisci metodo. L'esempio mostra anche come ThirdLink può essere aggiunto come parte attiva del collegamento.

--------
Fare clic qui per visualizzare l'illustrazione
Fare clic sul pulsante Indietro sul browser per tornare
--------

È facile associare obiettivi diversi alle diverse parti del testo del collegamento. Basta impostare la proprietà LinkData. Per fare in modo che FirstLink sia indirizzato alla pagina Web Informazioni su Visual Basic e ThirdLink sia indirizzato alla pagina Web principale About.Com, è sufficiente aggiungere questo codice all'inizializzazione (le prime due istruzioni sono ripetute dall'illustrazione sopra per maggiore chiarezza):

LinkLabel1.LinkArea = New LinkArea (0, 9)
LinkLabel1.Links.Add (21, 9)
LinkLabel1.Links (0) .LinkData = "http://visualbasic.about.com"
LinkLabel1.Links (1) .LinkData = "http://www.about.com"

Potresti voler fare qualcosa del genere per personalizzare i collegamenti per diversi utenti. È possibile utilizzare il codice per fare in modo che un gruppo di utenti raggiunga una destinazione diversa rispetto a un altro gruppo.

Microsoft "ha visto la luce" sui collegamenti ipertestuali con VB.NET e ha incluso tutto ciò che potresti voler fare con loro.