LinkLabel, classe (System.Windows.Forms)

Bibliothèque de classes .NET Framework 
LinkLabel, classe 

Représente un contrôle label Windows qui peut afficher des liens hypertexte.

Espace de noms : System.Windows.Forms
Assembly : System.Windows.Forms (dans system.windows.forms.dll)

SyntaxeSyntaxe


Visual Basic (Déclaration)
<ComVisibleAttribute(True)> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
Public Class LinkLabel
    Inherits Label
    Implements IButtonControl


Visual Basic (Utilisation)
Dim instance As LinkLabel


C#
[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
public class LinkLabel : Label, IButtonControl


C++
[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)] 
public ref class LinkLabel : public Label, IButtonControl


J#
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
public class LinkLabel extends Label implements IButtonControl


JScript
ComVisibleAttribute(true) 
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
public class LinkLabel extends Label implements IButtonControl
NotesNotes

Le 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.

ExempleExemple

L'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.



Visual Basic
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


C#
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);
        }
    }
}


C++
#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 );
}


J#
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éritageHiérarchie d'héritage
System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Windows.Forms.Control
         System.Windows.Forms.Label
          System.Windows.Forms.LinkLabel
Sécurité des threadsSécurité des threads
Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Plates-formesPlates-formes

Windows 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 versionInformations de version

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0
Voir aussiVoir aussi

Ces informations proviennent du site de http://msdn2.microsoft.com
Source de cette page : http://msdn2.microsoft.com/fr-fr/library/system.windows.forms.linklabel.aspx

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

9 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-6488
Document créé le 30/10/06 03:34, dernière modification le Vendredi 17 Juin 2011, 12:11
Source du document imprimé : http://www.gaudry.be/dotnet-rf-system.windows.forms.linklabel.html Document affiché 1 fois ce mois de Juin.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,41 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Si les points de suspension pouvaient parler, ils pourraient en dire des choses et des choses !

Pierre Dac
 
l'infobrol
Nous sommes le Vendredi 01 Juin 2012, 05:42, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)