Gewusst wie: Anzeigen von Hyperlinks mit dem RichTextBox-Steuerelement von Windows Forms

Aktualisiert: November 2007

Das RichTextBox-Steuerelement von Windows Forms kann Weblinks farbig und unterstrichen anzeigen. Sie können Code verfassen, mit dem beim Klicken auf den Hyperlink ein Browserfenster geöffnet wird, das die im Hyperlinktext angegebene Website anzeigt.

So verknüpfen Sie eine Webseite mit dem RichTextBox-Steuerelement

  1. Legen Sie die Text-Eigenschaft auf eine Zeichenfolge mit einem gültigen URL fest (z. B. https://www.microsoft.com/germany).

  2. Stellen Sie sicher, dass für die DetectUrls-Eigenschaft der Standardwert true festgelegt wurde.

  3. Erstellen Sie eine neue globale Instanz des Process-Objekts.

  4. Schreiben Sie einen Ereignishandler für das LinkClicked-Ereignis, das den gewünschten Text an den Browser sendet.

    Im folgenden Beispiel öffnet das LinkClicked-Ereignis eine Instanz von Internet Explorer für den in der Text-Eigenschaft des RichTextBox-Steuerelements enthaltenen URL. Bei diesem Beispiel wird vorausgesetzt, dass ein Formular bereits über ein RichTextBox-Steuerelement verfügt.

    Sicherheitshinweis:

    Ein Aufruf der Process.Start-Methode führt aufgrund unzureichender Berechtigungen zu einer SecurityException-Ausnahme, wenn Sie den Code in einem teilweise vertrauenswürdigen Kontext ausführen. Weitere Informationen finden Sie unter Grundlagen der Codezugriffssicherheit.

    Public p As New System.Diagnostics.Process
    Private Sub RichTextBox1_LinkClicked _
       (ByVal sender As Object, ByVal e As _
       System.Windows.Forms.LinkClickedEventArgs) _
       Handles RichTextBox1.LinkClicked
          ' Call Process.Start method to open a browser
          ' with link text as URL.
          p = System.Diagnostics.Process.Start("IExplore.exe", e.LinkText)
    End Sub
    
    public System.Diagnostics.Process p = new System.Diagnostics.Process();
    
    private void richTextBox1_LinkClicked(object sender, 
    System.Windows.Forms.LinkClickedEventArgs e)
    {
       // Call Process.Start method to open a browser
       // with link text as URL.
       p = System.Diagnostics.Process.Start("IExplore.exe", e.LinkText);
    }
    
    public:
       System::Diagnostics::Process ^ p;
    
    private:
       void richTextBox1_LinkClicked(System::Object ^  sender,
          System::Windows::Forms::LinkClickedEventArgs ^  e)
       {
          // Call Process.Start method to open a browser
          // with link text as URL.
          p = System::Diagnostics::Process::Start("IExplore.exe",
             e->LinkText);
       }
    

    (Visual C++) Sie müssen den Prozess p initialisieren. Sie können dazu die folgende Anweisung in den Konstruktor des Formulars einfügen:

    p = gcnew System::Diagnostics::Process();
    

    (Visual C#, Visual C++) Fügen Sie den folgenden Code im Konstruktor des Formulars ein, um den Ereignishandler zu registrieren.

    this.richTextBox1.LinkClicked += new 
       System.Windows.Forms.LinkClickedEventHandler
       (this.richTextBox1_LinkClicked);
    
    this->richTextBox1->LinkClicked += gcnew
       System::Windows::Forms::LinkClickedEventHandler
       (this, &Form1::richTextBox1_LinkClicked);
    

    Achten Sie darauf, den Prozess sofort zu beenden, wenn Sie ihn nicht mehr benötigen. Für das oben genannte Beispiel könnte der Code zum Anhalten des Prozesses wie folgt lauten:

    Public Sub StopWebProcess()
       p.Kill()
    End Sub
    
    public void StopWebProcess()
    {
       p.Kill();
    }
    
    public: void StopWebProcess()
    {
       p->Kill();
    }
    

Siehe auch

Referenz

DetectUrls

LinkClicked

RichTextBox

Weitere Ressourcen

RichTextBox-Steuerelement (Windows Forms)

Steuerelemente für Windows Forms