以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何获取文本框当前光标所在行位置,并插入文本 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92812) |
-- 作者:jspta -- 发布时间:2016/11/14 10:53:00 -- 如何获取文本框当前光标所在行位置,并插入文本 如何获取文本框当前光标所在行位置,并插入文本 |
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2016/11/14 11:34:00 -- 这个只能使用Leave事件吗?必须先要保存位置,才能被调用? |
-- 作者:有点色 -- 发布时间:2016/11/14 12:11:00 -- 以下是引用jspta在2016/11/14 11:34:00的发言:
这个只能使用Leave事件吗?必须先要保存位置,才能被调用?
只要焦点在文本框里面,可以用在任意事件。
但,如果焦点离开了文本框,就不能准确获取 SelectionStart 的值了,所以尽量记录一下。 |
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间: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 |