如何根据字符串变量的值,调用对应的窗体?

stevenuserregister 2013-01-01 06:16:00
程序中:
public strFrm as string

strFrm="FORM1"


调用处理函数
void displayFrm(byval strFrm as string)
{
//需要功能:
//如果strFrm="FORMx"
//则调用FORMx.show 1
}

由于字符串strFrm取值太多,使用select case语句不方便灵活。如何能简单直接的根据字符串str的值,直接调用str.show 1?

请各位高手帮忙,谢谢!
...全文
310 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hua1125 2013-01-14
  • 打赏
  • 举报
回复
错了 没看到后来set了 。
hua1125 2013-01-14
  • 打赏
  • 举报
回复
引用 楼主 stevenuserregister 的回复:
程序中: public strFrm as string strFrm="FORM1" 调用处理函数 void displayFrm(byval strFrm as string) { //需要功能: //如果strFrm="FORMx" //则调用FORMx.show 1 } 由于字符串strFrm取值太多,使用select case……
可以这么a.show么??
引用 9 楼 spt_petrolor 的回复:
Visual Basic code?123456789101112131415161718Private Sub Form_Load()showform "formx"End SubSub showform(name As String)Dim a As FormFor Each a In Forms If a.name = name Then ……
不能够吧??
王二.麻子 2013-01-05
  • 打赏
  • 举报
回复
引用 10 楼 worldy 的回复:
使用以下形式打开的窗口呢?怎么办? dim f as new formX f.show
LZ要的是用窗体名字符串得到窗体,哥们你这是做嘛? 你都知道窗体类名石formx了,你问什么? 说实话你明白前期绑定和后期绑定吧
王二.麻子 2013-01-04
  • 打赏
  • 举报
回复


Private Sub Form_Load()
showform "formx"
End Sub
Sub showform(name As String)
Dim a As Form
For Each a In Forms
        If a.name = name Then
                a.Show
                Exit Sub
        End If
Next
On Error GoTo errH
Set a = Forms.Add(name)
a.Show
Exit Sub
errH:
        MsgBox "不存在" & name & "窗体"
End Sub
worldy 2013-01-04
  • 打赏
  • 举报
回复
引用 9 楼 spt_petrolor 的回复:
Visual Basic code ? 1234567891011121314151617181920 Private Sub Form_Load() showform "formx"End SubSub showform(name As String) Dim a As Form For Each a In Forms If a.name = name Th……
使用以下形式打开的窗口呢?怎么办? dim f as new formX f.show
stevenuserregister 2013-01-04
  • 打赏
  • 举报
回复
我是奇怪你这个displayFrm为什么把两种语言混合在一起还能运行的。另外2楼的代码应该接近你的需求吧 这段时间,VC、VB都在用,有时候没注意细节。。。
bcrun 2013-01-03
  • 打赏
  • 举报
回复
引用 5 楼 stevenuserregister 的回复:
引用 4 楼 bcrun 的回复:怎么没人问,楼主那个既像C#又像VB的displayFrm是什么东东啊 displayFrm是我自己编的过程的名称。我需要请教大家,如何简单实现这个过程。。。
我是奇怪你这个displayFrm为什么把两种语言混合在一起还能运行的。另外2楼的代码应该接近你的需求吧
stevenuserregister 2013-01-03
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
http://bbs.csdn.net/topics/40023651
看版主的帖子,似乎没有很直接的方法。
stevenuserregister 2013-01-03
  • 打赏
  • 举报
回复
引用 4 楼 bcrun 的回复:
怎么没人问,楼主那个既像C#又像VB的displayFrm是什么东东啊
displayFrm是我自己编的过程的名称。我需要请教大家,如何简单实现这个过程。。。
bcrun 2013-01-02
  • 打赏
  • 举报
回复
怎么没人问,楼主那个既像C#又像VB的displayFrm是什么东东啊
worldy 2013-01-01
  • 打赏
  • 举报
回复
先做准备工作 dim col as new collection form_load或者sub main 中 col.add form1,"form1" col.add form2,"form2" col.add form3,"form3" col.add formn,"formn" 调用的时候 dim f as form set f=col(form_name) f.show
crazy0qwer 2013-01-01
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
    Dim F As Form
    Dim StrFrm As String
    StrFrm = "3"
    Set F = Forms.Add("form" & StrFrm)
    F.show   '显示Form3
End Sub
threenewbee 2013-01-01
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/40023651

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧