我正在创建一个基准测试工具。该工具需要弹出不同的表单,具体取决于单击的按钮。 我想要做的是根据从不同表单中选择的选项从一个表单中更改特定标签。下面是我试图使用的代码。我知道没有Form2。在Yourlabel之前。我可以更改当前形式的标签(表单1),但需要它更改表单2中标签的标题。我希望这很清楚。
Private Sub Option1_Click()
Form2.YourLabel.Caption = "Customer Code"
End Sub
有任何帮助吗?
答案 0 :(得分:0)
让Form1
拥有Form2
类型的公共属性:
Private otherForm As Form2
Public Property Get TheOtherForm() As Form2
Set TheOtherForm = otherForm
End Property
Public Property Set TheOtherForm(ByVal value As Form2)
Set otherForm = value
End Property
Private Sub Option1_Click()
otherForm.YourLabel.Caption = "Customer Code"
End Sub
现在负责调出Form1
实例的人员也负责设置TheOtherForm
参考:
Dim frm1 As Form1
Set frm1 = New Form1
Dim frm2 As Form2
Set frm2 = New Form2
Set frm1.TheOtherForm = frm2
frm1.Show
请注意,代码是New
表单实例,而不是使用表单类型的默认实例:这样就可以完全控制对象'寿命。
现在,您将Form1
与您在Form2
上拥有的用户界面布局相结合。更好的想法是在Form2
上公开一个公共程序,在两者之间引入一点抽象:
Public Sub SetMyLabelCaption(ByVal value As String)
YourLabel.Caption = value
End Sub
然后Form1
中的点击处理程序可以只调用otherForm.SetMyLabelCaption "CustomerCode"
而不关心实际标签的名称,或者是否甚至是标签。
答案 1 :(得分:0)
您必须参考表格名称 - > Label Name,然后调用Label的Caption属性来更改标题。
然后加载表单,并重新绘制以显示新的标签标题
Private Sub CommandButton1_Click()
If OptionButton1.Enabled Then
msgbox "The Caption of your label is going to be changed"
UserForm2.lbl_frm2.Caption = "The New caption Is here"
UserForm2.Show
UserForm2.Repaint
End If
End Sub