找回密码
 立即注册

QQ登录

只需一步,快速开始

mindrayguowei

中级会员

122

主题

274

帖子

986

积分

中级会员

积分
986

活字格认证

QQ
mindrayguowei
中级会员   /  发表于:2019-10-23 18:05  /   查看:3404  /  回复:4
附件里面是一个tx文件,可以看到里面有一段文本是蓝色带下划线的文字,这个是超链接(HypertextLink),  我们用HypertextLink来实现点击一段超链接文本实现下拉选择功能, 我们用其中的target属性存储下拉框内容,用逗号分隔,每次点击HypertextLink都会解析其中的target, 把其中的文本拿出来作为下拉框内容。

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

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

20.zip

29.01 KB, 阅读权限: 150, 下载次数: 1

4 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于: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讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-10-24 10:21:18
5#
可以用下面的代码试一下

  1. _textControl.Selection.Start = _textControl.Text.Length+1;
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部