在 Access 表单中,所有百分比或相对大小都必须由您计算。我承认在 Access 中调整表单和元素的大小有点死板和笨拙,但对于许多桌面应用程序 GUI 环境来说都是如此。我认为 .NET WPF 已尝试解决此问题,但这与 MS Access 无关。
我通常最终会使用这样的东西。此代码属于主窗体。这就是我经常调整大小的地方。
Private Sub Form_Resize()
On Error Resume Next
Me.subform1.Width = Me.WindowWidth - 390
'or if you want to account for the form's left property
'Me.subform1.Width = Me.WindowWidth - (Me.subform1.Left + 100)
End Sub
编辑1:
在回答您的评论时,390 和 100 是缇。虽然 Access 中的设计时使用英寸,但运行时属性必须使用缇来设置。
我搞砸了一段时间,无法得到任何我认为完全准确的东西。我在下面发布对我来说最合乎逻辑的代码,但是我不知道如何在 MS Access 中计算表单大小的来龙去脉。看来我可能遗漏了一些东西,因为下面的代码不会产生准确的结果。我发现通过增加我的边距并减少子窗体高度计算的百分比/小数,我能够得到一些看起来相对接近但如果你需要精确和准确的数字则不能令人满意的东西。
Private Sub Form_Resize()
On Error Resume Next
Const RMARGIN = 0
Const BMARGIN = 0
Me.subform1.Left = Round(Me.WindowWidth * 0.1) - RMARGIN
Me.subform1.Top = Round(Me.WindowHeight * 0.1) - BMARGIN
Me.subform1.Width = Round(Me.WindowWidth * 0.9) - (Me.subform1.Left + RMARGIN)
Me.subform1.Height = Round(Me.WindowHeight * 0.9) - (Me.subform1.Top + BMARGIN)
End Sub