问题描述如下:
假设我有若干按钮,按钮中的tag保存的是各种窗体的名字
我希望点任何一个按钮,都能调用到这个tag的变量的值.show,就打开对应窗体。
希望高手指点。
已经用过以下方法:
1:
Dim obj As Object
For Each obj In Forms
If OBJ.Name = TreeView1.Nodes.Item(TreeView1.SelectedItem.index).Key Then OBJ.Show
Exit For
End IfNext
上面这个方法,好像forms里只包含了已经打开的窗体,而不是所有的,是不是有个什么集合是包含了没有打开或者是所有的窗体的。2.
Dim OBJ As Object
Dim AA As Form
OBJ.Name=TreeView1.Nodes.Item(TreeView1.SelectedItem.index).Key
Set AA=OBJ
AA.Show这个是因为实在是想不出办法了,试了下,还是不行求各位指点
感激不尽
假设我有若干按钮,按钮中的tag保存的是各种窗体的名字
我希望点任何一个按钮,都能调用到这个tag的变量的值.show,就打开对应窗体。
希望高手指点。
已经用过以下方法:
1:
Dim obj As Object
For Each obj In Forms
If OBJ.Name = TreeView1.Nodes.Item(TreeView1.SelectedItem.index).Key Then OBJ.Show
Exit For
End IfNext
上面这个方法,好像forms里只包含了已经打开的窗体,而不是所有的,是不是有个什么集合是包含了没有打开或者是所有的窗体的。2.
Dim OBJ As Object
Dim AA As Form
OBJ.Name=TreeView1.Nodes.Item(TreeView1.SelectedItem.index).Key
Set AA=OBJ
AA.Show这个是因为实在是想不出办法了,试了下,还是不行求各位指点
感激不尽
Option ExplicitPrivate Sub Command1_Click()
Dim obj As Form
For Each obj In Forms
If InStr(1, LCase(obj.Name), LCase(Command1.Tag)) > 0 Then
obj.Show
Exit For
End If
Next
End SubPrivate Sub Form_Load()
Command1.Tag = "form2"
Form2.Hide
End Sub
此法有问题,Form是中的对象是已经加载的,对于未加载的Form就show不出来了,应该使用select进行分辨sub comman1_click(index,....)'应该使用command数组,你的这个设想才有意义
select case command1(index).tag
case "Form1"
Form1.show '此法不论一个按键点多少次,就show一个窗口,如果要show多个Form1,则使用 dim f as new form1 f.show
case "Form2"
Form2.show
........
end select
end sub
您好,感谢再次帮助,
不过这次的问题不大这么好解决,
因为这次实际上的变量,是TreeView的nods,所以,数量相当大,大概有好几十个,所以不能全部都加载。
您好,感谢帮助。
目前正是用的select case
不过由于数量很大,而且以后可能存在增加,考虑到灵活性的问题,所以希望直接能:
变量.show
以简化方便化代码。
非常感谢。