You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:点击TextBox时自动全选文本的实现问题(现有代码无效)

解决TextBox点击时全选文本的问题

嘿,我完全懂你的困扰!你推测的原因太对了——Enter事件确实是在控件即将获得焦点但还没真正拿到焦点的时候触发的,这时候你写的选中文本代码根本没法生效,因为控件还没进入可编辑的焦点状态呢。

给你两个靠谱的解决方案,按需选就行:

方案1:用GotFocus事件(适配所有获焦场景)

这个事件是在控件已经成功获得焦点后触发的,完美匹配你的需求。替换成下面的代码就行:

Private Sub TextBox_GotFocus()
    With Me.TextBox
        .SelStart = 0
        .SelLength = Len(.Text)
    End With
End Sub

这里不需要额外调用.SetFocus,因为触发这个事件时,TextBox已经稳稳拿到焦点了,直接设置选中文本的起始位置和长度就能立刻生效。

方案2:用MouseDown事件(仅鼠标点击时触发)

如果你只想在用户用鼠标点击TextBox的时候才全选文本(不想让Tab键切换焦点时也触发),那就用这个事件:

Private Sub TextBox_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    With Me.TextBox
        .SetFocus
        .SelStart = 0
        .SelLength = Len(.Text)
    End With
End Sub

当用户点击控件时,先强制让它获得焦点,再执行全选操作,确保点击后立刻高亮所有文本。

对了,要是你在代码窗口找不到GotFocus事件,记得在左侧下拉菜单选中你的TextBox,然后右侧的事件下拉菜单里就能找到它啦,肯定藏在里面的😉

内容的提问来源于stack exchange,提问作者sporc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:15:09