Show / Hide Table of Contents

Практическое руководство. Отображение ссылок веб-типа с помощью элемента управления RichTextBox в Windows Forms

Windows Forms RichTextBox веб-ссылок может отображать элемент управления цветом и подчеркиванием. Можно написать код, который открывает окно браузера, веб-узлом, указанный в тексте ссылки, при щелчке ссылки.

Чтобы связать веб-страницу с элементом управления RichTextBox

  1. Задайте Text свойство на строку, которая содержит допустимый URL-адрес (например, "http://www.microsoft.com/«).

  2. Убедитесь, что DetectUrls свойству true (по умолчанию).

  3. Создать новый глобальный экземпляр Process объекта.

  4. Написать обработчик событий для LinkClicked событий, который отправляет браузер требуемый текст.

    В следующем примере LinkClicked событий открывает экземпляр Internet Explorer на URL-адрес, указанный в Text свойство RichTextBox элемента управления. В этом примере предполагается, что форма RichTextBox элемента управления.

    Important

    В вызывающем 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 Forms
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX