Share via


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

更新:2007 年 11 月

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 上使用的控制項