共用方式為


HOW TO:使用 Windows Form RichTextBox 控制項顯示 Web 樣式連結

Windows Form RichTextBox 控制項可以使用色彩和底線顯示 Web 連結。 您可以寫入程式碼來在按一下連結時,開啟瀏覽器視窗以顯示連結文字中指定的網站。

若要使用 RichTextBox 控制項連結至網頁

  1. Text 屬性設定為包含有效 URL (例如 "https://www.microsoft.com/taiwan") 的字串。

  2. 確定 DetectUrls 屬性是設為 true (預設值)。

  3. 建立 Process 物件的新的全域執行個體。

  4. LinkClicked 事件撰寫事件處理常式,將所需文字傳送到瀏覽器。

    在以下範例中,LinkClicked 事件將 Internet Explorer 的執行個體,開啟至 RichTextBox 控制項的 Text 屬性中指定之 URL。 這個範例假設含 RichTextBox 控制項的表單。

    安全性注意事項安全性注意事項

    在呼叫 Process.Start 方法時,如果您是在部分信任的內容中執行程式碼,將會因為權限不足而發生 SecurityException 例外狀況。 如需詳細資訊,請參閱程式碼存取安全性的基本概念

    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++) 您必須初始化處理序 p,方法是將以下陳述式加入表單的建構函式中:

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

    (Visual C#、Visual C++) 將下列程式碼加入表單的建構函式以註冊事件處理常式。

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

    一旦完成使用後,務必立即停止您已建立的處理序。 在參考上述的程式碼之後,用以停止處理序的程式碼可能看起來像是這樣:

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

請參閱

參考

DetectUrls

LinkClicked

RichTextBox

其他資源

RichTextBox 控制項 (Windows Form)

在 Windows Form 上使用的控制項