如何 select 在文本框中输入文本?
How to select text in a textbox?
我有一个带有文本框的用户表单。我想 select 在 keyDown 事件之后(突出显示)内的文本。
最终用户可以输入的内容有一些限制。如果输入错误,将弹出一条消息,文本框中邀请用户输入内容的文本应为 selected。
我使用以下代码:
Me.txtbox_add_folder.SetFocus
Me.txtbox_add_folder.SelStart = 0
Me.txtbox_add_folder.SelLength = Len(Me.txtbox_add_folder.Text)
setFocus
不起作用。好像是因为 setFocus
触发了一系列其他事件 see this discussion.
在不同的讨论中提出的解决方案是包含一个DoCmd.CancelEvent
或Cancel = True
,这样焦点就不会转到另一个控件上,但是这些命令对Excel.
Application.enableevents = false
Me.txtbox_add_folder.SetFocus
Me.txtbox_add_folder.SelStart = 0
Me.txtbox_add_folder.SelLength = Len(Me.txtbox_add_folder.Text)
Application.enableevents = true
这项技术有点老套,但它以前对我有用。它将光标放在文本框中并执行 Ctrl+A 命令(select 全部),这将突出显示该文本框中的文本。
Me.txtbox_add_folder.SetFocus
SendKeys "^A"
我终于找到了解决办法。实际上焦点在事件发生后自动丢失,所以为了避免这种情况,应该关闭属性中的 TabStop
参数。
我的解决方案是在所有 个具有制表位的项目上打开制表位,但有问题的文本框除外
然后,在应用程序执行我要求它对文本框条目执行的任何操作后,使用 Application.SendKeys "{TAB"}
我知道这很粗糙,但是当您想将文本框用作房间另一端的条形码扫描仪条目时。
对我有用,但它是一个非常简单的用户表单。
我有一个带有文本框的用户表单。我想 select 在 keyDown 事件之后(突出显示)内的文本。
最终用户可以输入的内容有一些限制。如果输入错误,将弹出一条消息,文本框中邀请用户输入内容的文本应为 selected。
我使用以下代码:
Me.txtbox_add_folder.SetFocus
Me.txtbox_add_folder.SelStart = 0
Me.txtbox_add_folder.SelLength = Len(Me.txtbox_add_folder.Text)
setFocus
不起作用。好像是因为 setFocus
触发了一系列其他事件 see this discussion.
在不同的讨论中提出的解决方案是包含一个DoCmd.CancelEvent
或Cancel = True
,这样焦点就不会转到另一个控件上,但是这些命令对Excel.
Application.enableevents = false
Me.txtbox_add_folder.SetFocus
Me.txtbox_add_folder.SelStart = 0
Me.txtbox_add_folder.SelLength = Len(Me.txtbox_add_folder.Text)
Application.enableevents = true
这项技术有点老套,但它以前对我有用。它将光标放在文本框中并执行 Ctrl+A 命令(select 全部),这将突出显示该文本框中的文本。
Me.txtbox_add_folder.SetFocus
SendKeys "^A"
我终于找到了解决办法。实际上焦点在事件发生后自动丢失,所以为了避免这种情况,应该关闭属性中的 TabStop
参数。
我的解决方案是在所有 个具有制表位的项目上打开制表位,但有问题的文本框除外
然后,在应用程序执行我要求它对文本框条目执行的任何操作后,使用 Application.SendKeys "{TAB"}
我知道这很粗糙,但是当您想将文本框用作房间另一端的条形码扫描仪条目时。
对我有用,但它是一个非常简单的用户表单。