c# - 富文本框链接带空格

标签 c# .net winforms hyperlink richtextbox

我在我的应用程序中使用了 richtextbox。 其中我提供了一个文件资源管理器链接。当点击该链接时,它会打开相应的位置。

public partial class Form1 : Form
{
    string link = string.Empty;
    public Form1()
    {

        link = "file://D:\\Lenovo\\OneKey App\\OneKey Recovery";
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        //richTextBox1.Text = "C:\SVN";
        richTextBox1.Font = new Font("Consolas", 20f, FontStyle.Bold);
        richTextBox1.BackColor = Color.LightGray;
        richTextBox1.Text = link;
        richTextBox1.AppendText("\n Clicks the above link & learn about richtext box.");
    }


    private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
    {
        System.Diagnostics.Process.Start("Explorer.exe", link);
    }
}

这是我的代码。它正常工作。但是,如果文件夹名称中有任何空格,则意味着它会在富文本框中显示完整链接。

我的结果:

"file://D:\Lenovo\OneKey" App\OneKey Recovery

该链接最多只显示一个键。其他文本看起来像普通的 richbox 文本。 如果链接文本有空格,如何使整个文本成为链接?

最佳答案

您可以临时替换其中一个 unicode 空格的空白,例如 U+2000 以避免冲突:

richTextBox1.Text = link.Replace(' ', ' ');

Unicode Spaces

关于c# - 富文本框链接带空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29575266/

相关文章:

c# - 如何在 C# 中更改 Chromium 嵌入式框架中的用户代理?

C# 并定义通用主题

c# - FlexLayout 可绑定(bind)源 -xamarin 表单 - 如何在不绑定(bind)的情况下获取数据

c# - 我们可以在 asp.net 中对 global.asax 进行单元测试吗?

C# 工具提示显示的时间不够长

c# - 有没有办法将 Controls.ContextMenu 转换为 Forms.ContextMenu?

c# - 即使对象不为 null 也会发生 NullReference 异常

c# - 如何以编程方式在 aspx 文件中设置控件的属性?

c# - 在 C# 中从右到左打印

c# - 为什么我的鼠标光标不会移动到我告诉它与 Cursor.Position 一起去的地方?