Freigeben über


Anleitung: Mit dem Windows Forms LinkLabel-Steuerelement einen Link zu einem Objekt oder einer Webseite herstellen

Mit dem Windows Forms-LinkLabel-Steuerelement können Sie Links im Webstil in Ihrem Formular erstellen. Wenn auf den Link geklickt wird, können Sie dessen Farbe ändern, um anzugeben, dass der Link besucht wurde. Weitere Informationen zum Ändern der Farbe finden Sie unter So ändern Sie das Erscheinungsbild des Windows Forms LinkLabel-Steuerelements.

Verknüpfen mit einem anderen Formular

  1. Legen Sie die Text-Eigenschaft auf eine entsprechende Beschriftung fest.

  2. Legen Sie die LinkArea-Eigenschaft fest, um zu bestimmen, welcher Teil der Beschriftung als Link angegeben wird. Wie es angezeigt wird, hängt von den Darstellungseigenschaften der Linkbeschriftung ab. Der LinkArea Wert wird durch ein LinkArea-Objekt dargestellt, das zwei Zahlen enthält, die Anfangszeichenposition und die Anzahl der Zeichen. Die LinkArea-Eigenschaft kann im Eigenschaftenfenster oder im Code wie folgt festgelegt werden:

    ' 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. Rufen Sie im LinkClicked-Ereignishandler die Show-Methode auf, um ein anderes Formular im Projekt zu öffnen, und legen Sie die LinkVisited-Eigenschaft auf truefest.

    Anmerkung

    Eine Instanz der LinkLabelLinkClickedEventArgs-Klasse enthält einen Verweis auf das LinkLabel Steuerelement, auf das geklickt wurde, sodass das sender-Objekt nicht umgewandelt werden muss.

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

Verbinden mit einer Webseite

Das LinkLabel-Steuerelement kann auch verwendet werden, um eine Webseite mit dem Standardbrowser anzuzeigen.

  1. Setzen Sie die Text-Eigenschaft auf eine passende Beschriftung.

  2. Legen Sie die LinkArea-Eigenschaft fest, um zu bestimmen, welcher Teil der Beschriftung als Link angegeben wird.

  3. Rufen Sie im LinkClicked-Ereignishandler inmitten eines Ausnahmebehandlungsblocks eine zweite Prozedur auf, die die LinkVisited-Eigenschaft auf true festlegt und die Start-Methode verwendet, um den Standardbrowser mit einer URL zu starten. Um die Start-Methode zu verwenden, müssen Sie einen Verweis auf den System.Diagnostics-Namensraum hinzufügen.

    Wichtig

    Wenn der folgende Code in einer teilweisen vertrauenswürdigen Umgebung (z. B. auf einem freigegebenen Laufwerk) ausgeführt wird, schlägt der JIT-Compiler fehl, wenn die VisitLink-Methode aufgerufen wird. Die System.Diagnostics.Process.Start-Anweisung verursacht eine Verknüpfungsnachfrage, die fehlschlägt. Durch Abfangen der Ausnahme beim Aufrufen der VisitLink-Methode stellt der folgende Code sicher, dass der Fehler ordnungsgemäß behandelt wird, wenn der JIT-Compiler fehlschlägt.

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

Siehe auch