Практическое руководство. Создание связи с объектом или веб-страницей с помощью элемента управления LinkLabel в Windows Forms

Обновлен: Ноябрь 2007

Элемент управления форм Windows Forms LinkLabel позволяет создать в форме ссылки в стиле веб. При выполнении щелчка на ссылке имеется возможность изменения ее цвета, чтобы указать, что к этой ссылке уже обращались. Дополнительные сведения об изменении цвета ссылки см. в разделе Практическое руководство. Изменение внешнего вида элемента управления LinkLabel в Windows Forms.

Создание связи с другой формой

Создание связи с другой формой с помощью элемента управления LinkLabel

  1. Присвойте соответствующее значение заголовка свойству Text.

  2. Укажите, какая часть заголовка будет представлена в качестве ссылки, используя свойство LinkArea. Представление ссылки зависит от определяющих внешний вид свойств метки ссылки. Значение LinkArea представлено объектом LinkArea, включающим два числа: начальную позицию знаков и их количество. Свойство LinkArea может быть задано в окне "Свойства" или в коде следующим образом:

    ' In this code example, the link area has been set to begin
    ' at the first character and extend for eight characters.
    ' You may need to modify this based on the text entered in Step 1.
    LinkLabel1.LinkArea = New LinkArea(0, 8)
    
    // In this code example, the link area has been set to begin
    // at the first character and extend for eight characters.
    // You may need to modify this based on the text entered in Step 1.
    linkLabel1.LinkArea = new LinkArea(0,8);
    
    // In this code example, the link area has been set to begin
    // at the first character and extend for eight characters.
    // You may need to modify this based on the text entered in Step 1.
    linkLabel1->LinkArea = LinkArea(0,8);
    
  3. В обработчике событий LinkClicked вызовите метод Show, чтобы открыть другую форму в проекте, и задайте для свойства LinkVisited значение true.

    5acykfhc.alert_note(ru-ru,VS.90).gifПримечание.

    Экземпляр класса LinkLabelLinkClickedEventArgs переносит ссылку в элемент управления LinkLabel, на котором выполнен щелчок мышью, поэтому не требуется приводить объект sender .

    Protected Sub LinkLabel1_LinkClicked(ByVal Sender As System.Object, _
       ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) _
       Handles LinkLabel1.LinkClicked
       ' Show another form.
       Dim f2 As New Form()
       f2.Show
       LinkLabel1.LinkVisited = True
    End Sub
    
    protected void linkLabel1_LinkClicked(object sender, System. Windows.Forms.LinkLabelLinkClickedEventArgs e)
    {
       // Show another form.
       Form f2 = new Form();
       f2.Show();
       linkLabel1.LinkVisited = true;
    }
    
    private:
       void linkLabel1_LinkClicked(System::Object ^  sender,
          System::Windows::Forms::LinkLabelLinkClickedEventArgs ^  e)
       {
          // Show another form.
          Form ^ f2 = new Form();
          f2->Show();
          linkLabel1->LinkVisited = true;
       }
    

Создание связи с веб-страницей

Элемент управления LinkLabel также может применяться для отображения веб-страницы с помощью используемого по умолчанию обозревателя.

Запуск Internet Explorer и создание связи с веб-страницей с помощью элемента управления LinkLabel

  1. Присвойте соответствующее значение заголовка свойству Text.

  2. Укажите, какая часть заголовка будет представлена в качестве ссылки, используя свойство LinkArea.

  3. В блоке обработки исключений обработчика событий LinkClicked вызовите вторую процедуру, которая задает для свойства LinkVisited значение true и использует метод Start для запуска используемого по умолчанию обозревателя по URL. Для использования метода Start необходимо добавить ссылку на пространство имен System.Diagnostics.

    5acykfhc.alert_security(ru-ru,VS.90).gifПримечание о безопасности.

    Если приведенный ниже код выполняется в среде частичного доверия (например, на диске c общим доступом), при вызове метода VisitLink произойдет сбой компилятора JIT. Инструкция System.Diagnostics.Process.Start вызывает запрос на ссылку, который не проходит. Используемый в приведенном ниже фрагменте кода перехват исключения обработчиком catch при вызове метода VisitLink гарантирует, что в случае сбоя компилятора JIT ошибка будет постепенно обработана.

    Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, _
       ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) _
       Handles LinkLabel1.LinkClicked
       Try
          VisitLink()
       Catch ex As Exception
          ' The error message
          MessageBox.Show("Unable to open link that was clicked.")
       End Try
    End Sub
    
    Sub VisitLink()
       ' Change the color of the link text by setting LinkVisited 
       ' to True.
       LinkLabel1.LinkVisited = True
       ' Call the Process.Start method to open the default browser 
       ' with a URL:
       System.Diagnostics.Process.Start("https://www.microsoft.com")
    End Sub
    
    private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
    {
       try
       {
          VisitLink();
       }
       catch (Exception ex )
       {
          MessageBox.Show("Unable to open link that was clicked.");
       }
    }
    
    private void VisitLink()
    {
       // Change the color of the link text by setting LinkVisited 
       // to true.
       linkLabel1.LinkVisited = true;
       //Call the Process.Start method to open the default browser 
       //with a URL:
       System.Diagnostics.Process.Start("https://www.microsoft.com");
    }
    
    private:
       void linkLabel1_LinkClicked(System::Object ^  sender,
          System::Windows::Forms::LinkLabelLinkClickedEventArgs ^  e)
       {
          try
          {
             VisitLink();
          }
          catch (Exception ^ ex)
          {
             MessageBox::Show("Unable to open link that was clicked.");
          }
       }
    private:
       void VisitLink()
       {
          // Change the color of the link text by setting LinkVisited 
          // to true.
          linkLabel1->LinkVisited = true;
          // Call the Process.Start method to open the default browser 
          // with a URL:
          System::Diagnostics::Process::Start("https://www.microsoft.com");
       }
    

См. также

Задачи

Практическое руководство. Изменение внешнего вида элемента управления LinkLabel в Windows Forms

Ссылки

Process.Start

Общие сведения об элементе управления LinkLabel (Windows Forms)

Другие ресурсы

Элемент управления LinkLabel (Windows Forms)