LinkLabel, nouveau dans Visual Basic .NET, est un contrôle standard qui vous permet d'incorporer des liens de style Web dans un formulaire. Comme beaucoup de contrôles VB.NET, celui-ci ne fait rien que vous ne pouviez pas faire auparavant… mais avec plus de code et plus de problèmes. Par exemple, VB 6 avait le Naviguer (et Navigate2 lorsque la première s'est avérée inadéquate) méthodes que vous pourriez utiliser avec une chaîne de texte URL pour appeler une page Web.
LinkLabel est beaucoup plus pratique et sans problème que les anciennes techniques. Mais, en synchronisation avec l'architecture .NET, LinkLabel est conçu pour être utilisé avec d'autres objets pour faire tout le travail. Vous devez toujours utiliser une commande distincte pour démarrer un e-mail ou un navigateur par exemple. Un exemple de code est inclus ci-dessous.
L'idée de base est de mettre l'adresse e-mail ou l'URL Web dans la propriété Text d'un composant LinkLabel, puis lorsque vous cliquez sur l'étiquette, le LinkClicked l'événement est déclenché. Il y a bien plus d'une centaine de méthodes et d'objets disponibles pour l'objet LinkLabel, y compris des propriétés pour gérer tout ce que vous pourriez vouloir faire avec un lien comme changer la couleur, le texte, la position, comment il se comporte lorsque vous cliquez dessus… peu importe! Vous pouvez même vérifier les boutons et les positions de la souris et tester si le Alt, Décalage, ou Ctrl les touches sont enfoncées lorsque le lien est cliqué. Une liste est présentée dans l'illustration ci-dessous:
--------
Cliquez ici pour afficher l'illustration
Cliquez sur le bouton Retour de votre navigateur pour revenir
--------
Un objet avec un nom très long est également passé à cet événement: LinkLabelLinkClickedEventArgs. Heureusement, cet objet est instancié avec le joli nom court utilisé pour tous les arguments d'événement, e. le Lien l'objet a plus de méthodes et de propriétés. L'illustration ci-dessous montre le code de l'événement et le Lien objet.
--------
Cliquez ici pour afficher l'illustration
Cliquez sur le bouton Retour de votre navigateur pour revenir
--------
Vous utiliserez normalement le Texte propriété du Lien objet pour obtenir une URL ou une adresse e-mail, puis passez cette valeur à System.Diagnostics.Process.Start.
Pour afficher une page Web…
System.Diagnostics.Process.Start ("http://visualbasic.about.com")
Pour démarrer un e-mail à l'aide du programme de messagerie par défaut…
System.Diagnostics.Process.Start ("mailto:" & "[email protected]")
Mais vous n'êtes vraiment limité que par votre imagination dans l'utilisation des cinq surcharges du Début méthode. Vous pouvez, par exemple, démarrer le jeu Solitaire:
System.Diagnostics.Process.Start ("sol.exe")
Si vous placez un fichier dans le champ de chaîne, le programme de traitement par défaut pour ce type de fichier dans Windows démarrera et traitera le fichier. Cette instruction affichera MyPicture.jpg (si elle se trouve à la racine du lecteur C :).
System.Diagnostics.Process.Start ("C: MyPicture.jpg")
Vous pouvez utiliser le LinkLabel presque comme un bouton en plaçant simplement le code que vous aimez dans l'événement LinkClicked au lieu de la méthode Start.
L'enquête sur la centaine d'autres possibilités dépasse le cadre de cet article, mais voici quelques exemples pour vous aider à démarrer.
Un nouveau concept utilisé dans LinkLabel est l'idée qu'il peut y avoir plusieurs liens dans un LinkLabel et ils sont tous stockés dans un LinkCollection type. Le premier élément, Liens (0), dans la collection est créée automatiquement bien que vous puissiez contrôler ce qu'elle utilise à l'aide de la LinkArea propriété de LinkLabel. Dans l'exemple ci-dessous, la propriété Text de LinkLabel1 est définie sur "FirstLink SecondLink ThirdLink" mais seuls les 9 premiers caractères sont spécifiés en tant que lien. La collection Links a un Compter de 1 car ce lien a été ajouté automatiquement.
Pour ajouter plus d'éléments à la collection Links, utilisez simplement le Ajouter méthode. L'exemple montre également comment ThirdLink peut être ajouté en tant que partie active du lien.
--------
Cliquez ici pour afficher l'illustration
Cliquez sur le bouton Retour de votre navigateur pour revenir
--------
Il est facile d'associer différentes cibles aux différentes parties du texte du lien. Définissez simplement la propriété LinkData. Pour que FirstLink cible la page Web À propos de Visual Basic et ThirdLink cible la page Web principale About.Com, ajoutez simplement ce code à l'initialisation (les deux premières instructions sont répétées à partir de l'illustration ci-dessus pour plus de clarté):
LinkLabel1.LinkArea = Nouvelle LinkArea (0, 9)
LinkLabel1.Links.Add (21, 9)
LinkLabel1.Links (0) .LinkData = "http://visualbasic.about.com"
LinkLabel1.Links (1) .LinkData = "http://www.about.com"
Vous voudrez peut-être faire quelque chose comme ça pour personnaliser les liens pour différents utilisateurs. Vous pouvez utiliser du code pour amener un groupe d'utilisateurs vers une cible différente d'un autre groupe.
Microsoft a "vu la lumière" sur les hyperliens avec VB.NET et a inclus tout ce que vous pourriez vouloir en faire.