【发布时间】:2016-03-08 13:32:46
【问题描述】:
我有一个尺寸为 (h*w) 180 * 240 的用户表单。UserForm_Initialize() 事件将根据无数用户输入向此用户表单添加控件,然后调整用户表单的大小。我遇到的问题是用户窗体的可见范围小于实际范围。为了演示,我插入了第二个用户表单,代码如下:
Private Sub UserForm_Initialize()
Dim ctrl As Control
Dim i As Integer
For i = 1 To 2
Set ctrl = Me.Controls.Add("Forms.Label.1")
With ctrl
Debug.Print .Name
.Caption = i
.BorderStyle = 1
.Height = 10
.Width = 10
End With
Next i
Set ctrl = Me.Controls("Label1")
With ctrl
.Top = 0
.Left = 0
End With
Set ctrl = Me.Controls("Label2")
With ctrl
.Top = Me.Height - .Height
.Left = Me.Width - .Width
End With
End Sub
生成以下用户表单:
第一个标签正好位于用户窗体的顶部和左边缘,但第二个标签无处可见,因为它不在用户窗体的可见部分。
如何让第二个标签准确地位于用户窗体可见部分的底部和右侧边缘,如下图所示? (我已经编辑了第一张图片以显示我想要的内容)
【问题讨论】:
-
这是一篇关于调整用户窗体及其控件大小的方法的帖子:yoursumbuddy.com/dynamically-resize-form-controls-with-anchors