MS Access窗体边栏菜单动画

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MS Access窗体边栏菜单动画相关的知识,希望对你有一定的参考价值。

我一直在尝试创建一种侧边栏菜单,当你点击一个按钮时会弹出一段时间,由于某种原因,我无法做到。当我保存代码并打开要测试的表单时,可以看到“侧面菜单”(这是另一种形式),而不是超出您可以看到的区域。 Imgur preview

表单列表非常混乱,但问题中实际使用的唯一一个是“菜单”和“TestFormFormForm”(不要询问名称)。我使用的代码如下。

Option Compare Database

Private Sub Command2_Click()
    Dim x As Integer
    x = 0
    Do
        DoEvents
        Menu.Left = Menu.Left - 100
        timeout (0.0075)
        x = x + 1
    Loop Until x = 50
End Sub

Private Sub Form_Load()
    Me.ScrollBars = 0
    Menu.Left = Me.Width + 1000
    Menu.Move _
        Left:=Me.Width + 1000, Top:=500
End Sub

Sub timeout(duration_ms As Double)
    Start_Time = Timer
    Do
    DoEvents
    Loop Until (Timer - Start_Time) >= duration_ms
End Sub

我也尝试过使用Me.WindowWidth = XYZ直到我意识到WindowWidth是只读的。

答案

以下为我工作:

  1. 设置重叠Windows的数据库选项
  2. 将主窗体AutoResize属性设置为No并调整大小,使右边缘覆盖子窗体右边缘的一部分以考虑垂直滚动条空间
  3. 将ScrollBars属性设置为both
  4. 将子窗体宽度设置为尽可能小(必须至少为其控件的宽度),将Visible属性设置为否
  5. 消除表单加载事件
  6. 使用Toggle而不是Command按钮
  7. 在代码中试验各种常量组合

修改后的代码:

Private Sub Toggle4_Click()
    Dim x As Integer
    Me.Menu.Visible = True
    Do
        DoEvents
        Me.Menu.Width = Me.Menu.Width + IIf(Me.Toggle4, 200, -200)
        Me.Menu.Left = Me.Menu.Left - IIf(Me.Toggle4, 200, -200)
        Me.Toggle4.Left = Me.Toggle4.Left - IIf(Me.Toggle4, 200, -200)
        timeout (0.01)
        x = x + 1
    Loop Until x = 10
    Me.Menu.Visible = Me.Toggle4
End Sub

以上是关于MS Access窗体边栏菜单动画的主要内容,如果未能解决你的问题,请参考以下文章

专家 - 表单打开方式不同于设计视图与 MS Access 对象列表

选项卡式控件上的 MS Access 2007 引用子窗体控件返回 null

查询不会更新子窗体 MS-Access 中的表

access 下拉列表联动

Ms Access中更新主窗体时更新子窗体的相关字段

使用 C# windows 窗体向 Ms Access 数据库插入新记录时出现语法错误