VB自定义HOTKEY控件中的光标问题 20

用text控件制作一个HotKey控件,想设置光标永远在文本最后面,并且不能选择文本?包括按Left、Home、Up等键,以及鼠标点击,都始终让光标位置在最后不变!我用下... 用text控件制作一个HotKey控件,想设置光标永远在文本最后面,并且不能选择文本? 包括按Left、Home、Up等键 ,以及鼠标点击,都始终让光标位置在最后不变! 我用下面的这段代码能实现 ,但如前所述,效果不佳。
txt.SelStart = Len(txt.Text)
txt.SelLength = 0

请问有更好的方法吗? 就像windows系统的快捷方式里那个 “快捷键” 设置控件的效果那样,无论按什么键、怎么点鼠标,文本都不会被选定,且光标都在文本最后。
展开
 我来答
然后去远足
2013-08-13 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2468万
展开全部
Private Sub Text1_GetFocus()
    Text1.SetFocus
    SendKeys "^{END}"
End Sub
更多追问追答
追问
根本没有我想要的效果,鼠标照样可以选择文本呀!? 按键 Shift + Left / Home等也照样可以选择文本。 麻烦考虑好了再回复好吗?
追答

上述代码经过测试,完全可用,题主不可用的话可以考虑如下另几种方式:

 

1、让 Text1 始终处于失去焦点的状态,用 Timer 也好,用 Text1_GetFocus() (也可能是 Text1_Focus(),因为我手头的是 VB.net 没有 VB6 的,上述代码也是在 .net 下测试通过的)也好。

 

2、禁止 Text1 输入:

Text1.Lock = True

 

3、屏蔽 Text1 的鼠标按键和键盘按键:

Private Sub Text1_KeyPress(KeyAscii As Integer)
      KeyAscii = 0
End Sub

Private Sub Text1_mousedown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 2 Then '判断鼠标右键的使用
        MsgBox "请不要使用鼠标右键", , "警告"
    End if
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式