Foxtable(狐表)用户栏目专家坐堂 → 请教:文本框输入时,如何控制光标选中特定字符?


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

主题:请教:文本框输入时,如何控制光标选中特定字符?

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


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
请教:文本框输入时,如何控制光标选中特定字符?  发帖心情 Post By:2014/10/9 11:14:00 [只看该作者]

财务录入时(窗口操作),每笔都要输入凭证号

程序已经设置为新建记录时,默认生成如下凭证号:


华信-14-09-00#


财务人员提出要求,能否修改14之后,光标自动跳到09,并将09选中,或者修改09之后,光标自动跳到00,并将00选中,便于提高效率,减少失误。


特请教。





[此贴子已经被作者于2014-10-9 11:16:33编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/9 11:18:00 [只看该作者]

 1、可以设置掩码;

 

 2、你可以用 SelectionStart 和 SelectText 模拟 http://www.foxtable.com/help/topics/1888.htm

 

[此贴子已经被作者于2014-10-9 11:18:33编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/10/9 11:18:00 [只看该作者]

请上例子

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/10/9 11:45:00 [只看该作者]

看那凭证号,应该只需要改编号,年月以及之前的自动生成,无需修改。

 

TimerTick

 

Dim txt As WinForm.TextBox = e.Form.Controls("TextBox1")
txt.Text = "华信-" & Format(Date.Today,"yy-MM") & "-00#"
txt.SelectionStart = 9
txt.SelectionLength = 2
e.Form.TimerEnabled = False

 

[此贴子已经被作者于2014-10-9 11:45:15编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2014/10/9 12:08:00 [只看该作者]

SelectionStart

整数型,返回文本框中选定字符的起始位置。


只能返回起始位置,如何设置起始位置?


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


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2014/10/9 12:11:00 [只看该作者]

谢谢。

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


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2014/10/9 15:06:00 [只看该作者]

还是没有解决,上例子。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目101.foxdb





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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/9 15:33:00 [只看该作者]

 简单一点,自己扩展,在keyup事件加入如下代码

 

If e.KeyCode = Keys.Right Then
    Dim str As String = e.Sender.Text.SubString(e.Sender.SelectionStart)
    If str.StartsWith("-") = False Then
       
        Dim idx As Integer = str.IndexOf("-")
        If idx > -1 Then
            e.sender.SelectionLength = idx
        Else
            idx = str.IndexOf("#")
            If idx > -1 Then
                e.sender.SelectionLength = idx
            Else
                e.Sender.SelectionLength = str.Length
            End If
        End If
    End If
End If


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/10/9 15:36:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目101.foxdb


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


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2014/10/9 17:30:00 [只看该作者]

谢谢各位版主的帮助,问题圆满解决。

 回到顶部