mindrayguowei 发表于 2019-10-23 18:05:32

textcontrol超链接格式问题

附件里面是一个tx文件,可以看到里面有一段文本是蓝色带下划线的文字,这个是超链接(HypertextLink),我们用HypertextLink来实现点击一段超链接文本实现下拉选择功能, 我们用其中的target属性存储下拉框内容,用逗号分隔,每次点击HypertextLink都会解析其中的target, 把其中的文本拿出来作为下拉框内容。

现在的问题是,在任意一个HypertextLink后面输入文本内容, 都会变成HypertextLink的一部分。这就导致一个问题,比如我“局部脂肪增厚”后面写了一大段文字,然后我点击“局部脂肪增厚”选择一个下拉选项来替换“局部脂肪增厚”,可是后面写的一大段文字都变成的HypertextLink.Text的一部分,这就导致我替换的时候把所有新添加的内容都被替换掉了,等于是白写了。

问题其实很简单,我只要达到在HypertextLink后面输入的内容不要成为HypertextLink.Text的一部分就可以了,这个由什么好的办法吗?

Richard.Ma 发表于 2019-10-23 18:47:39

可以尝试使用代码改变光标的位置将start设置为文档的length ,看看能否解决

mindrayguowei 发表于 2019-10-23 18:59:48

找到原因了,应该是把HypertextLink里面的DoubledInputPosition属性改成true就好了

mindrayguowei 发表于 2019-10-23 19:25:34

本帖最后由 mindrayguowei 于 2019-10-24 08:53 编辑

还是有问题,如果一段文本是超链接,把这段文本删除一半, 后面输入的内容还是超链接的内容,并不能彻底解决我的问题

Richard.Ma 发表于 2019-10-24 10:21:18

可以用下面的代码试一下

_textControl.Selection.Start = _textControl.Text.Length+1;
页: [1]
查看完整版本: textcontrol超链接格式问题