Foxtable(狐表)用户栏目专家坐堂 → [求助]我想在textbox 多行文本框里,按tab键会执行它原有的插入4个缩进符功能 而不是跳转到下一个组件,请问怎么做


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

主题:[求助]我想在textbox 多行文本框里,按tab键会执行它原有的插入4个缩进符功能 而不是跳转到下一个组件,请问怎么做

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/2 16:30:00 [显示全部帖子]

keydown事件在光标位置插入4个空格

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/2 17:34:00 [显示全部帖子]

贴出具体代码

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/2 20:50:00 [显示全部帖子]

试了一下,tab键被控件自身拦截屏蔽掉了,无法触发。

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/3 10:46:00 [显示全部帖子]

换个快捷键使用,比如ctrl+Q

If e.Control AndAlso e.KeyCode = keys.Q
    Dim s As Integer = e.Sender.SelectionStart
    If s < e.Sender.Text.Length Then
        e.Sender.Text = e.Sender.Text.Insert(e.Sender.SelectionStart,vbtab)
        e.Sender.SelectionStart = s + cstr(vbtab).length
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/3 11:44:00 [显示全部帖子]

已反馈

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/19 10:54:00 [显示全部帖子]

解决方法

在窗口的AfterLoad事件加上代码
e.form.Controls("TextBox1").BaseControl.AcceptsTab = True


 回到顶部