Aracılığıyla paylaş


Nasıl yapılır: Windows Forms RichTextBox Denetimi ile Web Stili Bağlantılar Görüntüleme

Windows Forms RichTextBox denetimi, Web bağlantılarını renkli ve altı çizili olarak görüntüleyebilir. Bağlantı tıklandığında bağlantı metninde belirtilen Web sitesini gösteren bir tarayıcı penceresi açan kod yazabilirsiniz.

  1. Text özelliğini geçerli bir URL içeren bir dizeye ayarlayın (örneğin, https://www.microsoft.com/).

  2. Özelliğin DetectUrls (varsayılan) olarak ayarlandığından true emin olun.

  3. Nesnenin yeni bir genel örneğini Process oluşturun.

  4. Tarayıcıya LinkClicked istenen metni gönderen olay için bir olay işleyicisi yazın.

    Aşağıdaki örnekte olay, denetimin LinkClicked özelliğinde belirtilen URL'ye Text Internet Explorer örneğini RichTextBox açar. Bu örnekte, denetimi olan bir RichTextBox form varsayılır.

    Önemli

    yöntemini çağırırken Process.Start , yetersiz ayrıcalıklar nedeniyle kodu kısmi güven bağlamında çalıştırıyorsanız bir SecurityException özel durumla karşılaşırsınız. Daha fazla bilgi için bkz . Kod Erişimi Güvenliğiyle ilgili Temel Bilgiler.

    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++) Aşağıdaki deyimi formunuzun oluşturucusunda ekleyerek gerçekleştirebileceğiniz işlemini pbaşlatmanız gerekir:

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

    (Visual C#, Visual C++) Olay işleyicisini kaydetmek için formun oluşturucusunda aşağıdaki kodu yerleştirin.

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

    Üzerinde çalışmayı bitirdikten sonra oluşturduğunuz işlemi hemen durdurmak önemlidir. Yukarıda sunulan koda bakarak işlemi durdurma kodunuz şu şekilde görünebilir:

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

Ayrıca bkz.