我有一个表单在一个案例中充当子表单,在另一个案例中充当对话框。为此,我使用了一个布尔值。当它真实时,我希望表单作为对话框打开。为此,我在if
条件中使用了以下语句:
Me.Borderstyle=3
但是在运行应用程序时,它会给出错误2136:
在设计视图中打开表单或报表
调试引导我使用bordertyle代码。
可能是什么原因?是不是可以通过代码设置bordertyle? 如果我评论这部分,表单工作正常...只是它看起来不像是一个对话框,它在视觉上没有吸引力。代码如下:
Private Sub Form_Load()
If chk = True Then
WindowS Me, 2, 2, 90, 70
Me.first.Locked = True
Me.second.Locked = True
Me.BorderStyle = 3
Else
WindowS Me ' resize window and controls to current screen resolution
Me.cmdCLOSE.Visible = False
End If
End Sub
赞美帮助。
答案 0 :(得分:1)
错误消息非常清楚 - 您无法在“表单”视图中设置此属性,仅在“设计”视图中设置。
由于某些原因,这些信息在Form.Borderstyle
的帮助文件中丢失了 - 它在旧版本中显示为quoted here:
来自BorderStyle属性的Access 97 VBA帮助文件:
"您可以使用表单的属性表,宏或Visual Basic在表单设计视图中为表单设置BorderStyle属性。"
例如,它是相同的Form.CloseButton
属性,此处help file提到它。
IMO有意义的是,当表单打开时,您无法更改这些结构形式属性。
关于你的要求:
我有一个表单在一个案例中充当子表单,在另一个案例中充当对话框。
Subforms无论如何都没有边框,所以为什么不简单地将边框样式设置为" Dialog"留在那?