我有一个带有两个用户表单的模拟器,可以在彼此之间来回传递信息(一个是MainForm,另一个是CreatureFinder)。
当按下MainForm上的一个牌组槽按钮时(其中所有20个对应于你或敌人牌组中的一个生物),它会打开CreatureFinder,以便你可以选择哪个生物进入槽位(它也是让你编辑某些参数,比如生物的等级。
为简单起见,代码缩短了:
If CreatureNumberLabel.Text = "1" Then
MainForm.YourCreature1Skill1Label.Text = Skill1Label.Text
MainForm.YourCreature1Skill2Label.Text = Skill2Label.Text
MainForm.YourCreature1Skill3Label.Text = Skill3Label.Text
End If
我想删除If Then语句,并将“YourCreature1”更改为“YourCreature”&无论CreatureNumberLabel.Text设置为什么值。
答案 0 :(得分:0)
您可以使用某种控制数组。在表单加载时,为控件创建数组并分配其元素(每个数组为20行代码),之后您可以像下一个一样使用它们:
Dim CreatureNum As Integer = CInt(CreatureNumberLabel.Text) 'don't forget validation
MainFormYourCreatureSkillLabelArray(CreatureNum).Text = SkillLabel(CreatureNum).Text
答案 1 :(得分:0)
如果是VBA,你可以跳过
If CreatureNumberLabel.Text = "1" Then
只需输入:
MainForm.Controls("YourCreature" & CreatureNumberLabel.Text & "Skill1Label").Text = Skill1Label.Text
等Skill2Label.Text
,Skill3Label.Text
等......