Елемент управління LinkLabel

Для створення гіперпосилань використовується елемент управління LinkLabel, що представляє собою вдосконалений елемент Label, тобто  володіє всіма властивостями елемента Label і має специфічні, призначені для створення гіперпосилань, властивості. Кожне гіперпосилання може виконувати різні функції в додатку. Наприклад, воно може використовуватися в якості посилання на сайт в Інтернеті або для відкриття нової форми.

 

Рис.1. Елемент управління LinkLabel 

Елемент управління LinkLabel може містити одну або більше посилань і в залежності від цього розрізняють способи настройки даного елемента. Розглянемо кожен випадок окремо.

Окреме гіперпосилання

Для створення окремої гіперпосилання використовується властивість LinkArea елемента управління LinkLabel. Дана властивість задає номер першого символу гіперпосилання в рядку з кількістю символів, складових довжину гіперпосилання. Наприклад, якщо властивість Text елемента управління LinkLabel має значення тут ви можете знайти додаткову інформацію і потрібно, щоб слово тут було посиланням, то необхідно для властивості LinkArea задати значення 0; 5. Зверніть увагу, що нумерація символів починається з нуля.

Порада

Для задання окремого гіперпосилання також можна використовувати властивості Length і Start, що відкриваються у вікні Properties (Властивості) при натисканні на розташованому зліва від властивості LinkArea знаку плюса. 

У правій колонці властивості LinkArea розташована кнопка з трьома крапками, при натисканні на яку відкривається діалогове вікно LinkArea Editor (Редактор гіперпосилання). У цьому вікні вказано повний текст елемента управління, який можна відредагувати, а для задання певної частини тексту у вигляді посилання слід виділити потрібний фрагмент і натиснути кнопку OK. Властивість LinkArea автоматично заповниться. Для задання значення властивості LinkArea програмно використовується наступний код:

      Me.LinkLabel1.LinkArea = New LinkArea(0, 5)

Складні гіперпосилання

Кожне гіперпосилання, що відображається в елементі управління LinkLabel, є екземпляром класу LinkLabel.Link. Зазначений клас визначає розташування і розмір гіперпосилання. За допомогою властивості LinkData класу Link визначається інформація, яка використовується для обробки події клацання на посиланні. Наприклад, за допомогою властивості можна вказати URL інтернет сторінки або посилання на діалогове вікно, які відкриватимуться при натисканні на гіперпосилання. Так як всі посилання елемента управління LinkLabel виконують одну і ту ж обробку події, необхідно ідентифікувати кожне окреме посилання.

Для задання складних гіперпосилань, коли один елемент управління LinkLabel містить два і більше посилань, застосовується властивість Links. Щоб додати або видалити посилання призначені методи Add і Remove, а для видалення всіх посилань відразу - метод Clear класу LinkLabel.LinkCollection, до якого можна звернутися через властивість Links елемента управління LinkLabel.

Метод Add містить два або три параметра: початкову позицію посилання, її довжину і значення для властивості LinkData об'єкта Link.

Покажемо, як можна слово тут зробити посиланням за допомогою властивості Links:

        LinkLabel1.Links.Clear()

        LinkLabel1.Links.Add(0, 5, "www.microsoft.com")

Вибір гіперпосилання

При натисканні на гіперпосилання викликається процедура обробки події LinkClicked. Якщо елемент керування LinkLabel містить одне посилання, все просто.

Наприклад, за допомогою наступного коду, що міститься в процедурі обробки події LinkClicked, при натисканні на посилання буде відкриватися вікно Form2:

        Dim f As New Form2

        f.ShowDialog()

Якщо елемент містить більше одного посилання, то вдаються до властивості LinkData об'єкта Link, що дозволяє визначити пов'язану з певною посиланням інформацію. Доступ до наявних посилань здійснюється через параметр LinkLabelLinkClickedEventArgs процедури обробки події LinkClicked. Цей параметр за допомогою властивості Link дозволяє працювати з обраним посиланням.

Розглянемо приклад, в якому при натисканні на першому посиланні елемента управління LinkLabel відкривалося вікно Form2. Для цього в коді програми (наприклад, після ініціалізації компонентів форми) для властивості LinkData першого посилання в якості значення задайте екземпляр форми:

        Dim f As New Form2

        Me.LinkLabel1.Links(0).LinkData = f

Потім додайте наступну процедуру обробки події клацання на посиланні:

        e.Link.LinkData.ShowDialog()

Зовнішній вигляд посилань

Для задання поведінки посилання призначена властивість LinkBehavior елемента управління LinkLabel. Ця властивість може приймати одне з наступних значень: AlwaysUnderline (Завжди підкреслюється), HoverUnderline (Підкреслюється при наведенні покажчика миші), NeverUnderline (Не підкреслюється) і SystemDefault (Здається системою).

Властивість LinkColor вказує початковий колір посилання. За замовчуванням це синій колір.

За допомогою властивості ActiveLinkColor можна визначити колір гіперпосилання при натисканні на нього. За замовчуванням задається червоний колір. Як правило, раніше вже обрані посилання фарбуються в інший колір, щоб можна було їх відрізнити від жодного разу не відвідуваних посилань. Для задання стану посилання використовується властивість LinkVisited, значення True якого свідчить про те, що користувач вже одного разу вибирав дане посилання. Для визначення кольору такого посилання призначена властивість VisitedLinkColor. За замовчуванням задається фіолетовий колір.