找回密码
 立即注册

QQ登录

只需一步,快速开始

jiao419187544

中级会员

5

主题

17

帖子

852

积分

中级会员

积分
852

活字格认证

最新发帖
jiao419187544
中级会员   /  发表于:2013-5-9 10:49  /   查看:5856  /  回复:4
您好,如题

4 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-5-9 15:38:00
沙发
回复 1楼jiao419187544的帖子

jiao419187544 你好,

可以通过 TextFieldEntered 事件获取 TextField 是否被选择,代码如下:

  1.         private void textControl1_TextFieldEntered(object sender, TXTextControl.TextFieldEventArgs e)
  2.         {
  3.             TXTextControl.TextField field = e.TextField;
  4.         }
复制代码
回复 使用道具 举报
jiao419187544
中级会员   /  发表于:2013-5-9 16:26:00
板凳
请问这个事件什么时候被触发呢?
回复 使用道具 举报
jiao419187544
中级会员   /  发表于:2013-5-9 16:57:00
地板
这样有一个问题,即只有选中时鼠标光标经过文本域,才能够触发此事件,拥有局限性,还是通过selection的文本中判断有没有文本域包含的方法?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-5-9 18:39:00
5#
回复 4楼jiao419187544的帖子

你好,
TX 本身没有提供该方法,
我们可以获取文档中所有 TextField 起始位置。在选择后判断该选择范围是否包含 TextField 的起始位置。获取代码如下:

  1.             List<Point> textfiledList = new List<Point>();

  2.             TXTextControl.TextFieldCollection tc = this.textControl1.TextFields;

  3.             foreach (TXTextControl.TextField tx in tc)
  4.             {
  5.                 textfiledList.Add(new Point(tx.Start, tx.Length + tx.Start));
  6.             }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部