Assembly : System.Windows.Forms (dans system.windows.forms.dll)
Syntaxe<ComVisibleAttribute(True)> _ <ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _ Public Class LinkLabel Inherits Label Implements IButtonControl
Dim instance As LinkLabel
[ComVisibleAttribute(true)] [ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] public class LinkLabel : Label, IButtonControl
[ComVisibleAttribute(true)] [ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)] public ref class LinkLabel : public Label, IButtonControl
/** @attribute ComVisibleAttribute(true) */ /** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ public class LinkLabel extends Label implements IButtonControl
ComVisibleAttribute(true) ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) public class LinkLabel extends Label implements IButtonControl
NotesLe contrôle ToolStripLabel remplace et ajoute des fonctionnalités aux contrôles Label et LinkLabel. Toutefois, les contrôles Label et LinkLabel sont conservés à des fins de compatibilité descendante et d'utilisation future, si vous le souhaitez.
Le contrôle LinkLabel est analogue à un contrôle Label, à la différence qu'il peut afficher un lien hypertexte. Il est possible de spécifier plusieurs liens hypertexte dans le texte du contrôle. Chaque lien hypertexte peut commander une tâche différente dans une application. Par exemple, vous pouvez utiliser un lien hypertexte pour afficher un site Web dans Microsoft Internet Explorer ou pour charger un fichier journal associé à une application.
Chaque lien hypertexte affiché dans le contrôle LinkLabel est une instance de la classe LinkLabel.Link. La classe LinkLabel.Link définit les informations à afficher, l'état et l'emplacement du lien hypertexte. De plus, la propriété LinkData de la classe LinkLabel.Link permet d'associer des informations au lien hypertexte (une adresse URL à afficher, par exemple). Quand un utilisateur clique sur un lien hypertexte dans le contrôle, l'événement LinkClicked est déclenché et l'objet LinkLabel.Link représentant le lien hypertexte sur lequel le clic a été effectué est passé avec l'objet LinkLabelLinkClickedEventArgs qui est passé en tant que paramètre au gestionnaire d'événements. Vous pouvez utiliser cet objet pour obtenir l'objet LinkLabel.Link associé au lien hypertexte sur lequel l'utilisateur a cliqué. Tous les liens hypertexte contenus dans le contrôle LinkLabel sont stockés dans l'instance de la classe LinkLabel.LinkCollection pour le contrôle.
Il existe deux méthodes pour ajouter un lien hypertexte au contrôle LinkLabel. Le moyen le plus rapide consiste à spécifier un LinkArea et à l'assigner à la propriété LinkArea. Cela vous permet de spécifier un seul lien hypertexte dans le texte du contrôle. Pour ajouter plusieurs liens hypertexte, vous pouvez utiliser la méthode Add de la classe LinkLabel.LinkCollection en accédant à la collection par l'intermédiaire de la propriété Links.
Quand un contrôle LinkLabel est créé, un lien hypertexte par défaut qui contient la totalité du texte du contrôle LinkLabel est ajouté à LinkLabel.LinkCollection. Vous pouvez substituer ce lien par défaut en spécifiant une nouvelle zone de lien avec la propriété LinkArea, ou spécifier un lien en utilisant la méthode Add de LinkLabel.LinkCollection. Vous pouvez également supprimer le lien hypertexte par défaut en utilisant la méthode Remove de la classe LinkLabel.LinkCollection.
LinkLabel fournit différentes propriétés qui vous permettent de définir l'apparence d'affichage des liens hypertexte dans le contrôle. Les propriétés ActiveLinkColor, DisabledLinkColor, LinkColor et VisitedLinkColor définissent les couleurs utilisées pour afficher un lien hypertexte dans ses différents états. La propriété LinkBehavior définit l'affichage du soulignement associé à un lien hypertexte.
ExempleL'exemple suivant illustre l'utilisation de la classe LinkLabel, avec plusieurs sections LinkArea définies, pour afficher une étiquette sur un formulaire. Il montre comment définir les propriétés AutoSize, LinkBehavior, DisabledLinkColor, LinkColor et VisitedLinkColor, afin de personnaliser l'aspect de la classe LinkLabel. Le premier LinkArea est spécifié à l'aide de la propriété LinkLabel.LinkArea. D'autres liens sont ajoutés au LinkLabel à l'aide de la méthode LinkLabel.LinkCollection.Add. L'exemple gère l'événement LinkClicked en démarrant le navigateur Web pour les liens hypertextes et en affichant un MessageBox pour d'autres liens.
Imports System Imports System.Drawing Imports System.Windows.Forms Public NotInheritable Class Form1 Inherits System.Windows.Forms.Form Friend WithEvents LinkLabel1 As System.Windows.Forms.LinkLabel <System.STAThread()> _ Public Shared Sub Main() System.Windows.Forms.Application.Run(New Form1) End Sub 'Main Public Sub New() MyBase.New() Me.LinkLabel1 = New System.Windows.Forms.LinkLabel ' Configure the LinkLabel's size and location. Specify that the ' size should be automatically determined by the content. Me.linkLabel1.Location = New System.Drawing.Point(34, 56) Me.linkLabel1.Size = New System.Drawing.Size(224, 16) Me.linkLabel1.AutoSize = True ' Configure the appearance. ' Set the DisabledLinkColor so that a disabled link will show up against the form's background. Me.linkLabel1.DisabledLinkColor = System.Drawing.Color.Red Me.linkLabel1.VisitedLinkColor = System.Drawing.Color.Blue Me.linkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline Me.linkLabel1.LinkColor = System.Drawing.Color.Navy Me.linkLabel1.TabIndex = 0 Me.linkLabel1.TabStop = True ' Identify what the first Link is. Me.linkLabel1.LinkArea = New System.Windows.Forms.LinkArea(0, 8) ' Identify that the first link is visited already. Me.linkLabel1.Links(0).Visited = true ' Set the Text property to a string. Me.linkLabel1.Text = "Register Online. Visit Microsoft. Visit MSN." ' Create new links using the Add method of the LinkCollection class. ' Underline the appropriate words in the LinkLabel's Text property. ' The words 'Register', 'Microsoft', and 'MSN' will ' all be underlined and behave as hyperlinks. ' First check that the Text property is long enough to accommodate ' the desired hyperlinked areas. If it's not, don't add hyperlinks. If Me.LinkLabel1.Text.Length >= 45 Then Me.LinkLabel1.Links(0).LinkData = "Register" Me.LinkLabel1.Links.Add(24, 9, "www.microsoft.com") Me.LinkLabel1.Links.Add(42, 3, "www.msn.com") ' The second link is disabled and will appear as red. Me.linkLabel1.Links(1).Enabled = False End If ' Set up how the form should be displayed and adds the controls to the form. Me.ClientSize = New System.Drawing.Size(292, 266) Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.LinkLabel1}) Me.Text = "Link Label Example" End Sub Private Sub linkLabel1_LinkClicked(ByVal sender As Object, _ ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked ' Determine which link was clicked within the LinkLabel. Me.LinkLabel1.Links(LinkLabel1.Links.IndexOf(e.Link)).Visited = True ' Displays the appropriate link based on the value of the LinkData property of the Link object. Dim target As String = CType(e.Link.LinkData, String) ' If the value looks like a URL, navigate to it. ' Otherwise, display it in a message box. If (Nothing <> target) And (target.StartsWith("www")) Then System.Diagnostics.Process.Start(target) Else MessageBox.Show(("Item clicked: " + target)) End If End Sub End Class
using System; using System.Drawing; using System.Windows.Forms; public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.LinkLabel linkLabel1; [STAThread] static void Main() { Application.Run(new Form1()); } public Form1() { // Create the LinkLabel. this.linkLabel1 = new System.Windows.Forms.LinkLabel(); // Configure the LinkLabel's size and location. Specify that the // size should be automatically determined by the content. this.linkLabel1.Location = new System.Drawing.Point(34, 56); this.linkLabel1.Size = new System.Drawing.Size(224, 16); this.linkLabel1.AutoSize = true; // Configure the appearance. // Set the DisabledLinkColor so that a disabled link will show up against the form's background. this.linkLabel1.DisabledLinkColor = System.Drawing.Color.Red; this.linkLabel1.VisitedLinkColor = System.Drawing.Color.Blue; this.linkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; this.linkLabel1.LinkColor = System.Drawing.Color.Navy; this.linkLabel1.TabIndex = 0; this.linkLabel1.TabStop = true; // Add an event handler to do something when the links are clicked. this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked); // Identify what the first Link is. this.linkLabel1.LinkArea = new System.Windows.Forms.LinkArea(0, 8); // Identify that the first link is visited already. this.linkLabel1.Links[0].Visited = true; // Set the Text property to a string. this.linkLabel1.Text = "Register Online. Visit Microsoft. Visit MSN."; // Create new links using the Add method of the LinkCollection class. // Underline the appropriate words in the LinkLabel's Text property. // The words 'Register', 'Microsoft', and 'MSN' will // all be underlined and behave as hyperlinks. // First check that the Text property is long enough to accommodate // the desired hyperlinked areas. If it's not, don't add hyperlinks. if(this.linkLabel1.Text.Length >= 45) { this.linkLabel1.Links[0].LinkData = "Register"; this.linkLabel1.Links.Add(24, 9, "www.microsoft.com"); this.linkLabel1.Links.Add(42, 3, "www.msn.com"); // The second link is disabled and will appear as red. this.linkLabel1.Links[1].Enabled = false; } // Set up how the form should be displayed and add the controls to the form. this.ClientSize = new System.Drawing.Size(292, 266); this.Controls.AddRange(new System.Windows.Forms.Control[] {this.linkLabel1}); this.Text = "Link Label Example"; } private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e) { // Determine which link was clicked within the LinkLabel. this.linkLabel1.Links[linkLabel1.Links.IndexOf(e.Link)].Visited = true; // Display the appropriate link based on the value of the // LinkData property of the Link object. string target = e.Link.LinkData as string; // If the value looks like a URL, navigate to it. // Otherwise, display it in a message box. if(null != target && target.StartsWith("www")) { System.Diagnostics.Process.Start(target); } else { MessageBox.Show("Item clicked: " + target); } } }
#using <System.dll> #using <System.Windows.Forms.dll> #using <System.Drawing.dll> using namespace System; using namespace System::Drawing; using namespace System::Windows::Forms; public ref class Form1: public System::Windows::Forms::Form { private: System::Windows::Forms::LinkLabel^ linkLabel1; public: Form1() { // Create the LinkLabel. this->linkLabel1 = gcnew System::Windows::Forms::LinkLabel; // Configure the LinkLabel's size and location. Specify that the // size should be automatically determined by the content. this->linkLabel1->Location = System::Drawing::Point( 34, 56 ); this->linkLabel1->Size = System::Drawing::Size( 224, 16 ); this->linkLabel1->AutoSize = true; // Configure the appearance. this->linkLabel1->DisabledLinkColor = System::Drawing::Color::Red; this->linkLabel1->VisitedLinkColor = System::Drawing::Color::Blue; this->linkLabel1->LinkBehavior = System::Windows::Forms::LinkBehavior::HoverUnderline; this->linkLabel1->LinkColor = System::Drawing::Color::Navy; this->linkLabel1->TabIndex = 0; this->linkLabel1->TabStop = true; // Add an event handler to do something when the links are clicked. this->linkLabel1->LinkClicked += gcnew System::Windows::Forms::LinkLabelLinkClickedEventHandler( this, &Form1::linkLabel1_LinkClicked ); // Identify what the first Link is. this->linkLabel1->LinkArea = System::Windows::Forms::LinkArea( 0, 8 ); // Identify that the first link is visited already. this->linkLabel1->Links[ 0 ]->Visited = true; // Set the Text property to a String*. this->linkLabel1->Text = "Register Online. Visit Microsoft. Visit MSN."; // Create new links using the Add method of the LinkCollection class. // Underline the appropriate words in the LinkLabel's Text property. // The words 'Register', 'Microsoft', and 'MSN' will // all be underlined and behave as hyperlinks. // First check that the Text property is long enough to accommodate // the desired hyperlinked areas. If it's not, don't add hyperlinks. if ( this->linkLabel1->Text->Length >= 45 ) { this->linkLabel1->Links[ 0 ]->LinkData = "Register"; this->linkLabel1->Links->Add( 24, 9, "www.microsoft.com" ); this->linkLabel1->Links->Add( 42, 3, "www.msn.com" ); this->linkLabel1->Links[ 1 ]->Enabled = false; } // Set up how the form should be displayed and add the controls to the form. this->ClientSize = System::Drawing::Size( 292, 266 ); array<System::Windows::Forms::Control^>^temp0 = {this->linkLabel1}; this->Controls->AddRange( temp0 ); this->Text = "Link Label Example"; } private: void linkLabel1_LinkClicked( Object^ /*sender*/, System::Windows::Forms::LinkLabelLinkClickedEventArgs^ e ) { // Determine which link was clicked within the LinkLabel. this->linkLabel1->Links[ linkLabel1->Links->IndexOf( e->Link ) ]->Visited = true; // Display the appropriate link based on the value of the // LinkData property of the Link Object*. String^ target = dynamic_cast<String^>(e->Link->LinkData); // If the value looks like a URL, navigate to it. // Otherwise, display it in a message box. if ( nullptr != target && target->StartsWith( "www" ) ) { System::Diagnostics::Process::Start( target ); } else { MessageBox::Show( "Item clicked: {0}", target ); } } }; [STAThread] int main() { Application::Run( gcnew Form1 ); }
import System.*; import System.Drawing.*; import System.Windows.Forms.*; public class Form1 extends System.Windows.Forms.Form { private System.Windows.Forms.LinkLabel linkLabel1; /** @attribute STAThread() */ public static void main(String[] args) { Application.Run(new Form1()); } //main public Form1() { // Create the LinkLabel. this.linkLabel1 = new System.Windows.Forms.LinkLabel(); // Configure the LinkLabel's size and location. Specify that the // size should be automatically determined by the content. this.linkLabel1.set_Location(new System.Drawing.Point(34, 56)); this.linkLabel1.set_Size(new System.Drawing.Size(224, 16)); this.linkLabel1.set_AutoSize(true); // Configure the appearance. // Set the DisabledLinkColor so that a disabled link will show up // against the form's background. this.linkLabel1.set_DisabledLinkColor(System.Drawing.Color.get_Red()); this.linkLabel1.set_VisitedLinkColor(System.Drawing.Color.get_Blue()); this.linkLabel1.set_LinkBehavior( System.Windows.Forms.LinkBehavior.HoverUnderline); this.linkLabel1.set_LinkColor(System.Drawing.Color.get_Navy()); this.linkLabel1.set_TabIndex(0); this.linkLabel1.set_TabStop(true); // Add an event handler to do something when the links are clicked. this.linkLabel1.add_LinkClicked(new System.Windows.Forms. LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked)); // Identify what the first Link is. this.linkLabel1.set_LinkArea(new System.Windows.Forms.LinkArea(0, 8)); // Identify that the first link is visited already. this.linkLabel1.get_Links().get_Item(0).set_Visited(true); // Set the Text property to a string. this.linkLabel1.set_Text("Register Online. Visit Microsoft." + " Visit MSN."); // Create new links using the Add method of the LinkCollection class. // Underline the appropriate words in the LinkLabel's Text property. // The words 'Register', 'Microsoft', and 'MSN' will // all be underlined and behave as hyperlinks. // First check that the Text property is long enough to accommodate // the desired hyperlinked areas. If it's not, don't add hyperlinks. if (this.linkLabel1.get_Text().get_Length() >= 45) { this.linkLabel1.get_Links().get_Item(0).set_LinkData("Register"); this.linkLabel1.get_Links().Add(24, 9, "www.microsoft.com"); this.linkLabel1.get_Links().Add(42, 3, "www.msn.com"); // The second link is disabled and will appear as red. this.linkLabel1.get_Links().get_Item(1).set_Enabled(false); } // Set up how the form should be displayed and add the controls to // the form. this.set_ClientSize(new System.Drawing.Size(292, 266)); this.get_Controls().AddRange(new System.Windows.Forms.Control[] { this.linkLabel1 }); this.set_Text("Link Label Example"); } //Form1 private void linkLabel1_LinkClicked(Object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e) { // Determine which link was clicked within the LinkLabel. this.linkLabel1.get_Links().get_Item(linkLabel1.get_Links(). IndexOf(e.get_Link())).set_Visited(true); // Display the appropriate link based on the value of the // LinkData property of the Link object. String target = (String)e.get_Link().get_LinkData(); // If the value looks like a URL, navigate to it. // Otherwise, display it in a message box. if (null != target && target.StartsWith("www")) { System.Diagnostics.Process.Start(target); } else { MessageBox.Show("Item clicked: " + target); } } //linkLabel1_LinkClicked } //Form1
Hiérarchie d'héritageSystem.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.Label
System.Windows.Forms.LinkLabel
Sécurité des threads
Plates-formesWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Informations de version
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ