Udostępnij za pośrednictwem


Jak połączyć z obiektem lub stroną sieci Web za pomocą kontrolki LinkLabel w formularzach systemu Windows

Kontrolka Windows Forms LinkLabel umożliwia tworzenie linków w stylu sieci Web w formularzu. Po kliknięciu linku możesz zmienić jego kolor, aby wskazać, że link został odwiedzony. Aby uzyskać więcej informacji na temat zmiany koloru, zobacz Jak zmienić wygląd kontrolki LinkLabel w Windows Forms.

Łączenie z innym formularzem

  1. Ustaw właściwość Text na odpowiedni podpis.

  2. Ustaw właściwość LinkArea, aby określić, która część podpisu będzie wskazywana jako link. Sposób jego wskazania zależy od właściwości związanych z wyglądem etykiety łącza. Wartość LinkArea jest reprezentowana przez obiekt LinkArea zawierający dwie liczby, pozycję znaku początkowego i liczbę znaków. Właściwość LinkArea można ustawić w oknie Właściwości lub w kodzie w sposób podobny do następującego:

    ' 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. W procedurze obsługi zdarzeń LinkClicked wywołaj metodę Show, aby otworzyć inny formularz w projekcie, i ustaw właściwość LinkVisited na true.

    Notatka

    Wystąpienie klasy LinkLabelLinkClickedEventArgs prowadzi odwołanie do klikniętej kontrolki LinkLabel, więc nie ma potrzeby rzutowania obiektu 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;
       }
    

Łączenie ze stroną sieci Web

Kontrolka LinkLabel może być również używana do wyświetlania strony sieci Web z domyślną przeglądarką.

  1. Ustaw właściwość Text na odpowiedni podpis.

  2. Ustaw właściwość LinkArea, aby określić, która część podpisu będzie wskazywana jako link.

  3. W programie obsługi zdarzeń LinkClicked w środku bloku obsługi wyjątków wywołaj drugą procedurę, która ustawia właściwość LinkVisited na true i używa metody Start, aby uruchomić domyślną przeglądarkę przy użyciu adresu URL. Aby użyć metody Start, należy dodać odwołanie do przestrzeni nazw System.Diagnostics.

    Ważny

    Jeśli poniższy kod jest uruchamiany w środowisku o ograniczonym zaufaniu (na przykład na dysku udostępnionym), kompilator JIT zawodzi, gdy zostanie wywołana metoda VisitLink. Instrukcja System.Diagnostics.Process.Start powoduje niepowodzenie żądania łącza. Przechwytując wyjątek podczas wywoływania metody VisitLink, poniższy kod gwarantuje, że jeśli kompilator JIT ulegnie awarii, błąd zostanie obsłużony bezpiecznie.

    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("http://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("http://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("http://www.microsoft.com");
       }
    

Zobacz też