我正在使用VBA来Show
和userform
。
在此表单上,我有按钮可以打开另一个userform
(AddAmountForm
)。
当我点击按钮打开AddAmountForm
时,我还想更新AddAmountForm
上标签的标题。
以下是我在第一个用户表单上尝试过的内容:
Private Sub AssocDuesAddbtn_Click()
AddAmountForm.Show
With AddAmountForm
.AddName.Caption = "Assoc. Dues"
.Repaint
End With
End Sub
但是,这不会更新标题,它仍然是相同的。
将会有几个按钮打开第二个用户窗体,每个按钮都需要根据每个按钮更新的内容将标签更新为不同的标签。
我做错了什么?
答案 0 :(得分:3)
AddAmountForm.Show
AddAmountForm
形式displays the default instance,形式上。这意味着下一条指令只会在表单关闭后执行。
您可能需要在之前更改其标签:
With AddAmountForm
.AddName.Caption = "Assoc. Dues"
.Show
End With
也就是说,使用表单的默认实例会在后端,一天或另一天咬你。表格是对象,将其视为:
With New AddAmountForm
.AddName.Caption = "Assoc. Dues"
.Show
End With
如果标题是编译时常量(字符串文字是编译时常量表达式),那么没有理由在运行时分配它 - 只需在表单中设置标签的标题设计师的属性工具窗口(F4)。