winforms 为什么富文本框的链接单击事件在C#窗口窗体中不触发?

iibxawm4  于 2023-05-01  发布在  C#
关注(0)|答案(1)|浏览(125)

我有richtextbox,我想使用它的超链接,所以当用户点击网站链接或本地文件是打开的。但事件未被触发。
1.我检查了属性窗口中的事件处理程序,设置正确。
1.我检查了DetectUrls属性,结果为true。
1.我在链接点击事件的整行上设置了调试点,但是程序在点击超链接后并没有进入事件体。
我的代码是:

private void TextBoxDefinition_LinkClicked(object sender, LinkClickedEventArgs e)
{
    if (e.LinkText.StartsWith("file://"))
    {
        string filePath = e.LinkText.Substring(7);
        Process.Start(filePath);
    }
    else
    {
        Process.Start(e.LinkText);
    }
}

为什么事件不运行。我怎么能解决这个问题?

hgc7kmma

hgc7kmma1#

仅当窗体的焦点位于RichTextBox上时,才会激活该事件,请尝试将焦点设置为它

private void TextBoxDefinition_MouseEnter(object sender, System.EventArgs e) 
    {
        TextBoxDefinition.Focus(); // Define Focus to RichTextBox
    }

相关问题