Auf Englisch lesen

Freigeben über


LinkArea Struktur

Definition

Stellt einen Bereich in einem LinkLabel-Steuerelement dar, das einen Link innerhalb des Steuerelements darstellt.

C#
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.LinkArea+LinkAreaConverter))]
[System.Serializable]
public struct LinkArea
C#
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.LinkArea+LinkAreaConverter))]
[System.Serializable]
public struct LinkArea : IEquatable<System.Windows.Forms.LinkArea>
Vererbung
LinkArea
Attribute
Implementiert

Beispiele

Das folgende Codebeispiel veranschaulicht die Verwendung der LinkLabel -Klasse mit mehreren LinkArea definierten Abschnitten, um eine Bezeichnung auf einem Formular anzuzeigen. Das Beispiel veranschaulicht das Festlegen der AutoSizeEigenschaften , LinkBehavior, DisabledLinkColor, LinkColorund VisitedLinkColor zum Anpassen des Erscheinungsbilds von LinkLabel. Die erste LinkArea wird mithilfe der LinkLabel.LinkArea -Eigenschaft angegeben. Zusätzliche Links werden mithilfe der LinkLabelLinkLabel.LinkCollection.Add -Methode hinzugefügt. Im Beispiel wird das LinkClicked Ereignis behandelt, indem der Webbrowser für Hyperlinks gestartet und für andere Links angezeigt MessageBox wird.

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

Hinweise

Es gibt zwei Möglichkeiten, einen Link zum Text eines LinkLabel Steuerelements hinzuzufügen. Sie können über die Add -Eigenschaft LinkLabel der LinkLabel.LinkCollection -Klasse auf die Links -Methode zugreifen, um dem Text des Steuerelements mehrere Hyperlinks hinzuzufügen. Wenn Sie dem Text des Steuerelements nur einen einzelnen Link hinzufügen müssen, können Sie die LinkArea -Eigenschaft von LinkLabelverwenden. Diese Eigenschaft akzeptiert eine LinkArea , die die Position des Links im Text des Steuerelements definiert. Wenn ein Link mithilfe der LinkArea -Eigenschaft angegeben wird, wird der Linkbereich auf die gleiche Weise wie das Hinzufügen des Links mithilfe der Add -Methode von LinkLabel.LinkCollectionhinzugefügtLinkLabel.LinkCollection.

Die Length -Eigenschaft gibt die Anzahl der Zeichen im Text des an, die LinkLabel in den Linkbereich aufgenommen werden sollen. Die Start -Eigenschaft gibt das erste Zeichen im Steuerelementtext an, das in den Link aufgenommen werden soll. Wenn Sie bestimmen möchten, ob ein bestimmtes LinkArea leer ist, können Sie die IsEmpty -Eigenschaft verwenden, anstatt die Werte der Eigenschaften und Length zu Start überprüfen.

Konstruktoren

LinkArea(Int32, Int32)

Initialisiert eine neue Instanz der LinkArea-Klasse.

Eigenschaften

IsEmpty

Ruft einen Wert ab, der angibt, ob LinkArea leer ist.

Length

Ruft die Anzahl der Zeichen im Linkbereich ab oder legt diese fest.

Start

Ruft die Anfangsposition des Linkbereichs im Text von LinkLabel ab oder legt diesen fest.

Methoden

Equals(LinkArea)

Gibt an, ob das aktuelle Objekt gleich einem anderen Objekt des gleichen Typs ist.

Equals(Object)

Bestimmt, ob die LinkArea-Klasse dem angegebenen Objekt entspricht.

GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

ToString()

Gibt den voll qualifizierten Typnamen dieser Instanz zurück.

Operatoren

Equality(LinkArea, LinkArea)

Gibt einen Wert zurück, der angibt, ob zwei Instanzen der LinkArea-Klasse gleich sind.

Inequality(LinkArea, LinkArea)

Gibt einen Wert zurück, der angibt, ob zwei Instanzen der LinkArea-Klasse ungleich sind.

Gilt für:

Produkt Versionen
.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

Weitere Informationen