Прочитать на английском

Поделиться через


LinkLabel.Link Класс

Определение

Представляет ссылку в элементе управления LinkLabel.

public class LinkLabel.Link
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.LinkConverter))]
public class LinkLabel.Link
Наследование
LinkLabel.Link
Атрибуты

Примеры

В следующем примере показано использование LinkLabel класса с несколькими LinkArea разделами для отображения метки на форме. В примере демонстрируется AutoSizeнастройка свойств , LinkBehavior, DisabledLinkColor, LinkColorи VisitedLinkColor для настройки внешнего вида LinkLabel. Первый LinkArea задается с помощью LinkLabel.LinkArea свойства . Дополнительные ссылки добавляются в с LinkLabel помощью LinkLabel.LinkCollection.Add метода . В примере событие обрабатывается LinkClicked путем запуска веб-браузера для гиперссылок и отображения MessageBox для других ссылок.

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

Комментарии

Класс LinkLabel.Link определяет свойства ссылки в элементе LinkLabel управления . Эти свойства можно использовать для предоставления данных LinkClicked событию LinkLabel элемента управления для выполнения задач при щелчке ссылки в элементе управления. Свойство LinkData позволяет определить сведения, которые LinkClicked событие может использовать для отображения URL-адреса в браузере или для открытия файла.

Помимо сведений, связанных со ссылкой, свойства LinkLabel.Link класса также помогают определить текст LinkLabel.Link и его состояние отображения. Start Свойства и Length определяют расположение и длину текста из текста элемента управления для LinkLabel отображения в виде ссылки. Свойство Enabled позволяет отображать ссылку как отключенную ссылку, а Visited свойство может оповещать пользователя о том, что он уже посетил указанную ссылку в текущем экземпляре LinkLabel.

В одном LinkLabel элементе управления можно отобразить несколько ссылок. Каждый из них LinkLabel.Link добавляется в объект , связанный LinkLabel.LinkCollection с элементом LinkLabel управления . Чтобы получить коллекцию ссылок, определенных в элементе LinkLabelLinkLabel.Links управления , используйте свойство .

Конструкторы

LinkLabel.Link()

Инициализирует новый экземпляр класса LinkLabel.Link.

LinkLabel.Link(Int32, Int32)

Инициализирует новый экземпляр класса LinkLabel.Link с заданным начальным положением и заданным числом символов, следующих за начальным положением в элементе LinkLabel.

LinkLabel.Link(Int32, Int32, Object)

Инициализирует новый экземпляр класса LinkLabel.Link с заданным начальным положением, заданным числом символов, следующих за начальным положением в элементе LinkLabel, и данными, сопоставляемыми со ссылкой.

Свойства

Description

Получает или задает текстовое описание ссылки.

Enabled

Получает или задает значение, определяющее, активна ли ссылка.

Length

Получает или задает число символов в тексте ссылки.

LinkData

Получает или задает данные, сопоставленные со ссылкой.

Name

Возвращает или задает имя таблицы для объекта LinkLabel.Link.

Start

Получает или задает начальное расположение ссылки в тексте элемента управления LinkLabel.

Tag

Возвращает или задает объект, содержащий данные об элементе LinkLabel.Link.

Visited

Получает или задает значение, показывающее, была ли посещена ссылка.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

Продукт Версии
.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

См. также раздел