【问题标题】:Rich text box link With space富文本框链接 带空格
【发布时间】:2015-06-16 23:44:24
【问题描述】:

我在我的应用程序中使用了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 恢复

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

【问题讨论】:

  • 使用不间断空格将文本保持在一起:richTextBox1.Text = link.Replace(' ', '\u00a0');
  • 顺便说一句,您应该对文件路径使用逐字字符串,因为它们更具可读性。 link = @"file://D:\Lenovo\OneKey App\OneKey Recovery";

标签: c# .net winforms hyperlink richtextbox


【解决方案1】:

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

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

Unicode Spaces

【讨论】:

    猜你喜欢
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    相关资源
    最近更新 更多