Partilhar via


Como: Exibir Links de estilo da Web com o controle RichTextBox do Windows Forms

Os formulários do Windows RichTextBox controle pode exibir os links da Web como colorido e sublinhado. Você pode escrever código que abre uma janela do navegador mostrando o site especificado no texto do link quando o link é clicado.

Para vincular a uma página da Web com o controle RichTextBox

  1. Definir o Text propriedade para uma seqüência de caracteres que inclui uma URL válida (por exemplo, "https://www.microsoft.com/brasil/").

  2. Certifique-se a DetectUrls for definida como true (padrão).

  3. Criar uma nova instância global da Process objeto.

  4. Escrever um manipulador de eventos para o LinkClicked eventos que envia o navegador o texto desejado.

    No exemplo abaixo, o LinkClicked evento abre uma instância do Internet Explorer para a URL especificada na Text propriedade da RichTextBox de controle. Este exemplo assume que um formulário com um RichTextBox de controle.

    Observação de segurançaObservação sobre segurança

    Ao chamar o Process.Start método, você encontrará um SecurityException exceção se você estiver executando o código em um contexto parcialmente confiável por causa dos privilégios insuficientes. Para obter mais informações, consulte Noções Básicas sobre Segurança de Accesso a Código.

    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++) Deve inicializar o processo p, que pode ser feito, incluindo a instrução a seguir no construtor do formulário:

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

    (Visual C#, Visual C++) Coloque o seguinte código no construtor do formulário para registrar o manipulador de eventos.

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

    É importante parar imediatamente o processo que você criou quando você terminar de trabalhar com ele. Consultando o código apresentado acima, seu código para interromper o processo teria esta aparência:

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

Consulte também

Referência

DetectUrls

LinkClicked

RichTextBox

Outros recursos

Controle RichTextBox (Windows Forms)

Controles para uso no Windows Forms