当我使用 RichTextBox.Select(int start, int length) 函数在包含超链接的富文本框中选择文本时,当我尝试选择超链接之后的任何文本时,选择会发生一些变化。
当我删除超链接时,选择工作正常。
编辑: 我使用 RichTextBox 5(Visual Studio 中的默认版本是 4)
public class RichText50W : RichTextBox
{
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
static extern IntPtr LoadLibrary(string lpFileName);
protected override CreateParams CreateParams
{
get
{
CreateParams prams = base.CreateParams;
if (LoadLibrary("msftedit.dll") != IntPtr.Zero)
{
prams.ClassName = "RICHEDIT50W";
}
return prams;
}
}
}
该问题仅发生在 Richtextbox 5+ 上。
这些图像显示了问题和行为差异。
如果您尝试这样做,请确保将richtextboxes 的 HideSelection 属性设置为“false”。
选择功能显示在按钮上。
对于 RTB5,应在上图中选择“文本”中的“e”。
显然 RTB5 选择了一些隐藏的文本。
我需要它仅根据可见文本进行选择。
RTB 4 在使用表格时有问题,所以我不想使用它。
我使用 .NET 2.0
编辑:要在 Visual Studio 中尝试此操作,请从默认的 Richtextbox 开始,并将其声明更改为 RichText50W 而不是 RichTextBox
RichEdit 6 也有同样的问题。
谢谢