如何在不丢失setfocus的情况下将光标设置到文本框的末尾?

Posted

技术标签:

【中文标题】如何在不丢失setfocus的情况下将光标设置到文本框的末尾?【英文标题】:How to set the cursor to the end of the text box without losing the setfocus? 【发布时间】:2019-02-06 21:56:59 【问题描述】:

我正在使用此代码将焦点设置在表单中文本框的末尾,但只有将焦点设置在表单中间的文本框时才能这样做。我有设置选项卡控件,我希望焦点位于第一个文本框。

我的代码是:

        Me.txtBox.Locked = True
        Me.txtBox.SetFocus
        Me.txtBox.SelStart = Len(Me.txtBox.Text)

我尝试在上面的代码之后添加它以再次将焦点设置到第一个文本框。

pfPositionCursor Me.txtBox1

但我在pfPositionCursor 上得到子或函数未定义

有没有办法做这样的事情?

【问题讨论】:

如果您没有名为pfPositionCursor 的过程,那么您当然不能调用它。此外,在 TextBox 中“放置光标”意味着来自键盘的下一个 Input 将位于该位置,并且由于在该 TextBox 中,因此 TextBox 具有焦点。对于控件,“获得焦点”和“下一次击键影响该控件”是等价的。 这段代码在什么事件中?我使用要作用的控件的 Click、Enter、GotFocus。无法输入到锁定的控件。 此代码在 onOpen 表单事件中 【参考方案1】:

您可以在函数中传递控件,例如:

Call ControlFocusFunction(Me!MyTextbox)


Public Function TextBoxFocusFunction(ctlControl as Control)

  If ctlControl.ControlType = acTextBox Then

    ctlControl.SetFocus
    ctlControl.SelStart(Len(ctlControl.Text))

  End If

End Function

【讨论】:

以上是关于如何在不丢失setfocus的情况下将光标设置到文本框的末尾?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不丢失信息的情况下将因子转换为整数\数字?

如何在不丢失 swift 精度的情况下将 String 转换为 Double [重复]

如何在不丢失 Xampp 中的数据的情况下将类型从 varchar 更改为 Date

如何在不丢失 exif 数据的情况下将 UIImage 转换为 JPEG?

如何在不丢失鼠标抓取的情况下将 QGraphicsItem 移动到另一个场景?

如何在不丢失 css 的情况下将模板从桌面发送到移动设备