LinkLabel, nytt i Visual Basic .NET, är en standardkontroll som låter dig bädda in webbformatlänkar i en form. Som många VB.NET-kontroller gör inte den här någonting som du inte kunde göra förut ... men med mer kod och fler problem. Till exempel hade VB 6 Navigera (och Navigate2 när den första visade sig otillräcklig) metoder som du kan använda med en URL-textsträng för att ringa en webbsida.
LinkLabel är mycket mer bekvämt och problemfritt än äldre tekniker. Men i synkronisering med .NET-arkitektur är LinkLabel utformad för att användas med andra objekt för att göra hela jobbet. Du måste fortfarande använda ett separat kommando för att starta en e-post eller webbläsare till exempel. Exempelkod ingår nedan.
Den grundläggande idén är att lägga e-postadressen eller webb-URL-en i egenskapen Text i en LinkLabel-komponent, och sedan när du klickar på etiketten, LinkClicked händelse utlöses. Det finns över hundra metoder och objekt tillgängliga för LinkLabel-objektet inklusive egenskaper för att hantera allt du kanske vill göra med en länk som att ändra färg, text, position, hur det uppför sig när du klickar på det ... vad som helst! Du kan till och med kontrollera musknappar och positioner och testa om Alt, Flytta, eller Ctrl tangenterna trycks ned när du klickar på länken. En lista visas i bilden nedan:
--------
Klicka här för att visa bilden
Klicka på knappen Tillbaka i webbläsaren för att återgå
--------
Ett objekt med ett riktigt långt namn skickas också till den här händelsen: LinkLabelLinkClickedEventArgs. Lyckligtvis är detta objekt instanserat med det fina korta namnet som används för alla händelseargumenter, e. De Länk objektet har fler metoder och egenskaper. Illustrationen nedan visar händelsekoden och Länk objekt.
--------
Klicka här för att visa bilden
Klicka på knappen Tillbaka i webbläsaren för att återgå
--------
Du kommer normalt att använda Text egendom till Länk objekt för att få en URL eller e-postadress och sedan skicka detta värde till System.Diagnostics.Process.Start.
Att ta fram en webbsida ...
System.Diagnostics.Process.Start ( "http://visualbasic.about.com")
För att starta ett e-postmeddelande med standardprogrammet ...
System.Diagnostics.Process.Start ("mailto:" & "[email protected]")
Men du är verkligen begränsad endast av din fantasi när du använder de fem överbelastningarna av Start metod. Du kan till exempel starta Solitaire-spelet:
System.Diagnostics.Process.Start ( "sol.exe")
Om du lägger en fil i strängfältet, kommer standardbehandlingsprogrammet för den filtypen i Windows att sparka in och bearbeta filen. Detta uttalande kommer att visa MyPicture.jpg (om det är i roten till enhet C :).
System.Diagnostics.Process.Start ( "C: MyPicture.jpg")
Du kan använda LinkLabel nästan som en knapp genom att helt enkelt sätta vilken kod du vill i händelsen LinkClicked istället för Start-metoden.
Undersökningen av hundra eller så andra möjligheter ligger utanför artikeln, men här är några exempel för att komma igång.
Ett nytt koncept som används i LinkLabel är idén att det kan finnas flera länkar i ett LinkLabel och att de alla lagras i en länksamling typ. Det första elementet, Länkar (0), i samlingen skapas automatiskt även om du kan styra vad den använder LinkArea egendom hos LinkLabel. I exemplet nedan är Textegenskapen för LinkLabel1 inställd på "FirstLink SecondLink ThirdLink" men bara de första 9 tecknen anges som en länk. Länkar-samlingen har en Räkna av 1 eftersom denna länk lades till automatiskt.
För att lägga till fler element i Länkensamlingen använder du bara Lägg till metod. Exemplet visar också hur ThirdLink kan läggas till som en aktiv del av länken.
--------
Klicka här för att visa bilden
Klicka på knappen Tillbaka i webbläsaren för att återgå
--------
Det är lätt att koppla olika mål till de olika delarna av länktexten. Ställ bara in egenskapen LinkData. För att FirstLink ska rikta in sig på webbplatsen About Visual Basic och ThirdLink till den huvudsakliga webbsidan About.Com, lägger du bara till den här koden till initialiseringen (de två första uttalandena upprepas från bilden ovan för tydlighet):
LinkLabel1.LinkArea = Ny LinkArea (0, 9)
LinkLabel1.Links.Lägg till (21, 9)
LinkLabel1.Links (0) .LinkData = "http://visualbasic.about.com"
LinkLabel1.Links (1) .LinkData = "http://www.about.com"
Du kanske vill göra något liknande för att anpassa länkar för olika användare. Du kan använda kod för att få en grupp användare att gå till ett annat mål än en annan grupp.
Microsoft "såg ljuset" om hyperlänkar med VB.NET och inkluderade allt du kanske vill göra med dem.