Windows 窗体 RichTextBox 控件可以将网络链接显示成彩色并带有下划线。 可以编写代码,用于在单击链接时打开浏览器窗口,其中显示链接文本中指定的网站。
要使用 RichTextBox 控件链接到网页,请执行以下步骤。
将 Text 属性设置为包含有效 URL 的字符串(例如,
https://www.microsoft.com/
)。确保属性 DetectUrls 设置为
true
(默认值)。创建对象 Process 的新全局实例。
为 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(); }