找回密码
 立即注册

QQ登录

只需一步,快速开始

xiaoyaox044

银牌会员

9

主题

42

帖子

2779

积分

银牌会员

积分
2779

活字格认证

xiaoyaox044
银牌会员   /  发表于:2012-2-21 19:28  /   查看:6381  /  回复:9
如果文本框中文字较多,如何编写代码使其滚动到指定的位置,比如滚动到选中的文本,请版主帮忙

9 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-2-22 09:34:00
沙发
TX中式通过设置 InputPosition 来实现自动跳转的:
  1. textControl1.InputPosition = new TXTextControl.InputPosition(textControl1.Selection.Start);
复制代码
回复 使用道具 举报
xiaoyaox044
银牌会员   /  发表于:2012-2-22 19:42:00
板凳
好像不起作用呢~~
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-2-23 09:04:00
地板

回复 3# xiaoyaox044 的帖子

如果你选中的文本就在当前窗口中,可能看不到滚动的效果,如果你选中一段文本,然后滚动滚动条至看不到选中的文本,调用改代码之后就可以看到滚动效果。
回复 使用道具 举报
xiaoyaox044
银牌会员   /  发表于:2012-2-23 18:57:00
5#
  1. private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             textControl1.InputPosition = new TXTextControl.InputPosition(textControl1.Selection.Start);
  4.         }
复制代码

我移到了其他地方还是不行的,这是14版的bug吗?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-2-24 10:54:00
6#
我使用 TX 14.0 SP3 (V14.0.600.500)做了一个简单Demo,可以跳转到被选中文字所在的位置,不知你使用的是 TX 14 的哪一个版本。
1、运行程序,在文档中粘贴一些内容
2、选中其中部分文字
3、点击菜单中的Go To
4、此时被选中的文本会显示在当前画面中,可能是在靠近窗体底部的位置

TXWin14.zip (145.91 KB, 下载次数: 448)
回复 使用道具 举报
xiaoyaox044
银牌会员   /  发表于:2012-2-24 16:50:00
7#
我试了一下,发现把代码放在菜单的事件函数里就可以,
放在其他地方就不起作用了,比如按钮的单击响应函数,
确实是很诡异哈
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-2-24 18:05:00
8#

回复 7# xiaoyaox044 的帖子

因为通过Button.Click,此时TextControrl失去了焦点,所以没有自动调整,可以试一试下面的代码:
  1. textControl1.Focus();
  2. textControl1.InputPosition = new InputPostion(textControl1.Selection.Start);
复制代码
回复 使用道具 举报
xiaoyaox044
银牌会员   /  发表于:2012-2-24 19:27:00
9#
哈哈,原来是这个原因,膜拜斑竹~~
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-2-27 15:37:00
10#
哈哈
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部