Foxtable(狐表)用户栏目专家坐堂 → 如何获取文本框当前光标所在行位置,并插入文本


  共有1690人关注过本帖树形打印复制链接

主题:如何获取文本框当前光标所在行位置,并插入文本

帅哥哟,离线,有人找我吗?
jspta
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
如何获取文本框当前光标所在行位置,并插入文本  发帖心情 Post By:2016/11/14 10:53:00 [只看该作者]

如何获取文本框当前光标所在行位置,并插入文本

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/14 11:21:00 [只看该作者]

文本框Leave事件

vars("L") = e.Sender.SelectionStart

按钮
Dim txt As WinForm.TextBox = e.Form.Controls("TextBox1")
txt.Text = txt.Text.Insert(vars("L"),"插入的文字")

 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2016/11/14 11:34:00 [只看该作者]

这个只能使用Leave事件吗?必须先要保存位置,才能被调用?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/14 12:11:00 [只看该作者]

以下是引用jspta在2016/11/14 11:34:00的发言:
这个只能使用Leave事件吗?必须先要保存位置,才能被调用?

 

只要焦点在文本框里面,可以用在任意事件。

 

但,如果焦点离开了文本框,就不能准确获取 SelectionStart 的值了,所以尽量记录一下。


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/14 12:34:00 [只看该作者]

C1控件设置太多了,需要这样处理一下:

AfterLoad事件
Dim txt  = e.Form.Controls("TextBox1").basecontrol
txt.Hideselection = False

按钮
Dim txt As WinForm.TextBox = e.Form.Controls("TextBox1")
txt.Text = txt.Text.Insert(txt.SelectionStart,"插入的文字")

 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2016/11/14 12:46:00 [只看该作者]

谢谢!
设置后即可搞定,代码
Dim txt As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim i As Integer =  txt.SelectionStart
txt.Text = txt.Text.Insert(txt.SelectionStart,"插入的文字")
txt.SelectionStart = i + 5

 回到顶部