Como: Exibir links de estilo da Web com o controle RichTextBox do Windows Forms
O Windows Forms RichTextBox controle pode exibir sistema autônomo links da Web sistema autônomo colorido e sublinhado. Você pode gravar 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
conjunto o Textpropriedade para uma seqüência de caracteres que inclua uma URL válida (por exemplo, "https://www.Microsoft.com").
Certifique-se de que o DetectUrls propriedade estiver definida como true (padrão).
Criar uma nova instância global do Process objeto.
Escrever um manipulador de eventos para o LinkClicked evento que envia o navegador o texto desejado.
No exemplo abaixo, a LinkClicked evento abre uma instância do Internet Explorer para o URL especificado na Text propriedade das RichTextBox controle. Este exemplo supõe que um formulário com um RichTextBox controle.
Observação de segurança: Ao chamar o Process.Start método, você encontrará um SecurityException Se você estiver executando o código em um contexto parcialmente confiável devido a privilégios insuficientes de exceção. 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++) Você deve inicializar o processo p, que pode ser feito, incluindo a demonstrativo a seguir no construtor do formulário:
p = gcnew System::Diagnostics::Process();
(Visual C#, Visual C++) Coloque o código a seguir 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 imediatamente parar o processo criado após terminar de trabalhar com ele.Consultando o código apresentado acima, seu código para parar o processo pode parecer com isso:
Public Sub StopWebProcess() p.Kill() End Sub
public void StopWebProcess() { p.Kill(); }
public: void StopWebProcess() { p->Kill(); }