Lire en anglais

Partager via


LinkArea Structure

Définition

Zone dans un contrôle LinkLabel qui représente un lien hypertexte dans le contrôle.

[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.LinkArea+LinkAreaConverter))]
[System.Serializable]
public struct LinkArea
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.LinkArea+LinkAreaConverter))]
[System.Serializable]
public struct LinkArea : IEquatable<System.Windows.Forms.LinkArea>
Héritage
LinkArea
Attributs
Implémente

Exemples

L’exemple de code suivant illustre l’utilisation de la LinkLabel classe, avec plusieurs LinkArea sections définies, pour afficher une étiquette sur un formulaire. L’exemple montre comment définir les AutoSizepropriétés , DisabledLinkColorLinkBehavior, , LinkColoret VisitedLinkColor pour personnaliser l’apparence du LinkLabel. La première LinkArea est spécifiée à l’aide de la LinkLabel.LinkArea propriété . Des liens supplémentaires sont ajoutés à l’aide de LinkLabel la LinkLabel.LinkCollection.Add méthode . L’exemple gère l’événement LinkClicked en démarrant le navigateur Web pour les liens hypertexte et en affichant un MessageBox pour d’autres liens.

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

Remarques

Il existe deux façons d’ajouter un lien hypertexte au texte d’un LinkLabel contrôle. Vous pouvez accéder à la Add méthode de la LinkLabel.LinkCollection classe via la Links propriété de LinkLabel pour ajouter plusieurs liens hypertexte au texte du contrôle. Si vous n’avez besoin d’ajouter qu’un seul lien hypertexte au texte du contrôle, vous pouvez utiliser la LinkArea propriété du LinkLabel. Cette propriété accepte un LinkArea qui définit l’emplacement du lien hypertexte dans le texte du contrôle. Lorsqu’un lien hypertexte est spécifié à l’aide de la LinkArea propriété , la zone de lien est ensuite ajoutée au de la LinkLabel.LinkCollection même manière que l’ajout du lien à l’aide de la Add méthode de LinkLabel.LinkCollection.

La Length propriété spécifie le nombre de caractères dans le texte du LinkLabel à inclure dans la zone de lien. La Start propriété spécifie le premier caractère du texte de contrôle à inclure dans le lien hypertexte. Si vous souhaitez déterminer si un spécifique LinkArea est vide, vous pouvez utiliser la IsEmpty propriété au lieu de vérifier les valeurs des Start propriétés et Length .

Constructeurs

LinkArea(Int32, Int32)

Initialise une nouvelle instance de la classe LinkArea.

Propriétés

IsEmpty

Obtient une valeur indiquant si le LinkArea est vide.

Length

Obtient ou définit le nombre de caractères dans la zone de lien.

Start

Obtient ou définit l'emplacement du début de la zone de lien dans le texte de LinkLabel.

Méthodes

Equals(LinkArea)

Indique si l'objet actuel est égal à un autre objet du même type.

Equals(Object)

Détermine si ce LinkArea est égal à l'objet spécifié.

GetHashCode()

Retourne le code de hachage de cette instance.

ToString()

Retourne le nom de type qualifié complet de cette instance.

Opérateurs

Equality(LinkArea, LinkArea)

Retourne une valeur indiquant si deux instances de la classe LinkArea sont égales.

Inequality(LinkArea, LinkArea)

Retourne une valeur indiquant si deux instances de la classe LinkArea ne sont pas égales.

S’applique à

Produit Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Voir aussi