“访问菜单”子表单 - 无默认选项卡停止

时间:2015-10-05 15:05:28

标签: forms ms-access tabs

我有一个主要形式......想象一下......对于我的大多数用户来说,这将是他们使用的唯一形式。当然,它包含子表单的选项卡。

我在此表单左侧有一个导航子表单,它根据用户的权限级别进行更改。目前,此子表单是所有按钮...并且始终选择1作为该表单的默认制表位。

我最初不想突出显示它们中的任何一个......我可以通过关闭所有按钮的Tab Stops来删除突出显示。但是,我不确定我是否想要一起删除所有功能......它仍然突出显示一个按钮。我只是希望没有突出显示默认按钮。

enter image description here

如您所见,添加课程已“选中”。我似乎无法找到正确的术语来搜索这样做的方法。我尝试在另一个按钮后面使用一个较小的按钮,但由于它有焦点,它会移到前面。使用与背景颜色相同的文本字段会将光标显示在随机的空白区域中......在视觉上不理想。

我确信这里有一个聪明的人可以解决这个问题。请赐教。我不在乎这是否可以在VBA代码中或通过设计视图处理。

2 个答案:

答案 0 :(得分:1)

“焦点”是您正在寻找的单词 - 打开表单时,您不希望任何可见控件具有焦点。

最简单的方法是隐藏按钮:创建一个Transparent = True按钮和一个空OnClick按钮(即按钮不做任何操作,即使意外点击)。

将此按钮移动到Tab Order中的顶部,因此在打开表单时它具有焦点。

但是如果您的用户使用TAB来浏览按钮,则会有一个焦点消失的位置(从最后一个到第一个控件旋转时)。我不知道它是否会让他们感到困惑。

答案 1 :(得分:0)

在主窗体上创建一个按钮。 命名为cmdDummyButton,带有以下GotFocus事件代码。 将Tab键属性设置为0(即第一个) 使按钮透明。

这将导致窗体无法控制启动时获得焦点。

Private Sub cmdDummyButton_GotFocus()

    Static IveHadFocusAlready As Boolean

    If Not IveHadFocusAlready Then
        Me.cmdDummyButton.Enabled = False
        IveHadFocusAlready = True
    End If

End Sub

甜。