Instrukcje: wyświetlanie linków Web-Style za pomocą kontrolki RichTextBox formularzy systemu Windows
Kontrolka Windows Forms RichTextBox może wyświetlać łącza sieci Web jako kolorowe i podkreślone. Możesz napisać kod, który otwiera okno przeglądarki z witryną sieci Web określoną w tekście linku po kliknięciu linku.
Aby połączyć się ze stroną sieci Web za pomocą kontrolki RichTextBox
Ustaw właściwość Text na ciąg zawierający prawidłowy adres URL (na przykład
https://www.microsoft.com/
).Upewnij się, że właściwość DetectUrls jest ustawiona na
true
(wartość domyślna).Utwórz nowe wystąpienie globalne obiektu Process.
Napisz procedurę obsługi zdarzeń dla zdarzenia LinkClicked, które wysyła przeglądarce żądany tekst.
W poniższym przykładzie zdarzenie LinkClicked uruchamia przeglądarkę Internet Explorer na adres URL określony we właściwości Text kontrolki RichTextBox. W tym przykładzie formularz ma kontrolkę RichTextBox.
Ważny
Wywołając metodę Process.Start, wystąpi wyjątek SecurityException, jeśli używasz kodu w kontekście częściowego zaufania z powodu niewystarczających uprawnień. Aby uzyskać więcej informacji, zobacz Podstawy bezpieczeństwa dostępu do kodu.
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++) Należy zainicjować proces
p
, co można zrobić, dołączając następującą instrukcję w konstruktorze formularza:p = gcnew System::Diagnostics::Process();
(Visual C#, Visual C++) Umieść następujący kod w konstruktorze formularza, aby zarejestrować procedurę obsługi zdarzeń.
this.richTextBox1.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler (this.richTextBox1_LinkClicked);
this->richTextBox1->LinkClicked += gcnew System::Windows::Forms::LinkClickedEventHandler (this, &Form1::richTextBox1_LinkClicked);
Ważne jest, aby natychmiast zatrzymać utworzony proces po zakończeniu pracy z nim. Odwołując się do przedstawionego powyżej kodu, kod umożliwiający zatrzymanie procesu może wyglądać następująco:
Public Sub StopWebProcess() p.Kill() End Sub
public void StopWebProcess() { p.Kill(); }
public: void StopWebProcess() { p->Kill(); }
Zobacz też
- DetectUrls
- LinkClicked
- RichTextBox
- Kontrolka RichTextBox
- Kontrolki używane w Windows Forms
.NET Desktop feedback