读书人

怎么用变量show出窗体

发布时间: 2012-06-08 12:55:24 作者: rapoo

求助:如何用变量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 If

Next
上面这个方法,好像forms里只包含了已经打开的窗体,而不是所有的,是不是有个什么集合是包含了没有打开或者是所有的窗体的。

2.
Dim OBJ As Object
Dim AA As Form
OBJ.Name=TreeView1.Nodes.Item(TreeView1.SelectedItem.index).Key
Set AA=OBJ
AA.Show

这个是因为实在是想不出办法了,试了下,还是不行

求各位指点
感激不尽


[解决办法]

VB code
'2个窗体Form1,Form2Option 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    NextEnd SubPrivate Sub Form_Load()   Command1.Tag = "form2"   Form2.HideEnd Sub
[解决办法]
探讨
VB code
'2个窗体Form1,Form2
Option Explicit

Private Sub Command1_Click()
Dim obj As Form
For Each obj In Forms
If InStr(1, LCase(obj.Name), LCase(Command1.Tag)) > 0 Then
……

[解决办法]
直接这样恐怕不行。
-_-!!!


你可以写一个类来做接口,用这个类对象完成所有窗口(程序主窗口除外)的加载、卸载、显示的管理。

[解决办法]
探讨
引用:
VB code
'2个窗体Form1,Form2
Option Explicit

Private Sub Command1_Click()
Dim obj As Form
For Each obj In Forms
If InStr(1, LCase(obj.Name), LCase(Command1.Tag)) > 0 Then
……


此法有……

读书人网 >VB

热点推荐