字符串不是控件。字符串是控件的数据类型。名称这是控件对象的Name属性。不能将字符串强制转换为控件,但不会丢失所有内容。在设计时创建其他组合框,并将它们堆叠在彼此的顶部。请注意lastComboBox之前的Static关键字。这将在调用方法之间保持值。您可以通过将此变量设置为类级变量来完成相同的任务。第一次调用该方法时,lastComboBox中将为nothing,因此检查为nothing。控制Find返回一个数组,因此我们必须引用ctl(0)——数组的第一个元素,因为我们知道它只返回一个。
Private Sub Combo2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Combo2.SelectedIndexChanged
Dim SelectedAction As String = "Combo" & Combo2.Text
Static lastComboBox As ComboBox
If Not IsNothing(lastComboBox) Then
lastComboBox.Visible = False
End If
Dim ctl() As Control = Controls.Find(SelectedAction, True)
lastComboBox = CType(ctl(0), ComboBox)
lastComboBox.BringToFront()
lastComboBox.Visible = True
End Sub