War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Exportieren (0) Drucken
Alle erweitern

LinkLabel-Klasse

Stellt ein Label-Steuerelement in Windows dar, das Hyperlinks anzeigen kann.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
public class LinkLabel : 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

Das ToolStripLabel-Steuerelement ersetzt das Label-Steuerelement und des LinkLabel-Steuerelement und erweitert deren Funktionalität. Das Label-Steuerelement und das LinkLabel-Steuerelement werden jedoch aus Gründen der Abwärtskompatibilität als auch, falls gewünscht, für die zukünftige Verwendung beibehalten.

Das LinkLabel-Steuerelement ähnelt einem Label-Steuerelement, kann aber einen Hyperlink anzeigen. Im Text des Steuerelements können mehrere Hyperlinks angegeben werden. Jeder Hyperlink kann innerhalb einer Anwendung eine andere Aufgabe ausführen. Sie können z. B. einen Hyperlink verwenden, um eine Webseite in Microsoft Internet Explorer anzuzeigen oder eine einer Anwendung zugeordnete Protokolldatei zu laden.

Jeder im LinkLabel-Steuerelement angezeigte Hyperlink ist eine Instanz der LinkLabel.Link-Klasse. Die LinkLabel.Link-Klasse definiert Anzeigeinformationen, Zustand und Position des Hyperlinks. Darüber hinaus können Sie dem Hyperlink mithilfe der LinkData-Eigenschaft der LinkLabel.Link-Klasse Informationen zuordnen, z. B. einen anzuzeigenden URL. Wenn ein Benutzer auf einen Hyperlink im Steuerelement klickt, wird das LinkClicked-Ereignis ausgelöst, und das LinkLabel.Link-Objekt, das den Hyperlink darstellt, auf den geklickt wurde, wird als Teil des LinkLabelLinkClickedEventArgs-Objekts übergeben, das dem Ereignishandler als Parameter übergeben wird. Sie können dieses Objekt zum Abrufen des LinkLabel.Link-Objekts verwenden, das dem Hyperlink zugeordnet ist, auf den der Benutzer geklickt hat. Alle Hyperlinks im LinkLabel-Steuerelement werden in der LinkLabel.LinkCollection-Klasseninstanz für das Steuerelement gespeichert.

Es gibt zwei Möglichkeiten, dem LinkLabel-Steuerelement einen Hyperlink hinzuzufügen. Die schnellste Möglichkeit besteht darin, eine LinkArea anzugeben und der LinkArea-Eigenschaft zuzuordnen. Dies ermöglicht es Ihnen, einen einzelnen Hyperlink im Text des Steuerelements anzugeben. Um mehrere Hyperlinks hinzuzufügen, können Sie die Add-Methode der LinkLabel.LinkCollection-Klasse verwenden, indem Sie über die Links-Eigenschaft auf die Auflistung zugreifen.

Beim Erstellen eines LinkLabel-Steuerelements wird der LinkLabel.LinkCollection ein Standardhyperlink hinzugefügt, der den gesamten Text des LinkLabel-Steuerelements enthält. Sie können diesen Standardhyperlink überschreiben, indem Sie mit der LinkArea-Eigenschaft einen neuen Verknüpfungsbereich angeben, oder Sie können einen Hyperlink mithilfe der Add-Methode der LinkLabel.LinkCollection angeben. Mithilfe der Remove-Methode der LinkLabel.LinkCollection-Klasse können Sie den Standardhyperlink auch entfernen.

Das LinkLabel stellt eine Reihe von Eigenschaften bereit, mit deren Hilfe Sie die Darstellung von Hyperlinks im Steuerelement definieren können. Die ActiveLinkColor-Eigenschaft, die DisabledLinkColor-Eigenschaft, die LinkColor-Eigenschaft und die VisitedLinkColor-Eigenschaft definieren die Farben, die bei der Darstellung verschiedener Zustände eines Hyperlinks verwendet werden. Die LinkBehavior-Eigenschaft definiert die Anzeige der einem Hyperlink zugeordneten Unterstreichung,.

Im folgenden Beispiel wird die Verwendung der LinkLabel-Klasse veranschaulicht, wobei mehrere LinkArea-Abschnitte definiert sind, um eine Beschriftung auf einem Formular anzuzeigen. Das Beispiel veranschaulicht das Festlegen der AutoSize-Eigenschaft, der LinkBehavior-Eigenschaft, der DisabledLinkColor-Eigenschaft, der LinkColor-Eigenschaft und der VisitedLinkColor-Eigenschaft zum Anpassen der Darstellung von LinkLabel. Die erste LinkArea wird mithilfe der LinkLabel.LinkArea-Eigenschaft angegeben. Dem LinkLabel werden mit der LinkLabel.LinkCollection.Add-Methode weitere Verknüpfungen hinzugefügt. Im Beispiel wird das LinkClicked-Ereignis durch Starten des Webbrowsers für Hyperlinks und Anzeigen einer MessageBox für andere Verknüpfungen behandelt.

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

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

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Windows.Forms.Control
         System.Windows.Forms.Label
          System.Windows.Forms.LinkLabel

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0
Anzeigen:
© 2015 Microsoft