DOBON.NET DOBON.NETプログラミング掲示板過去ログ

文字列の値でフォームを開く

環境/言語:[WindowsXP VB.net]
分類:[.NET]

最近VB.NETを始めたばかりで、VB6までとの違いに困惑しています。

とても初歩的な内容なのですが

dim strFormName as string
strFormName ="FORM1"

このフォーム名を格納している変数の値を元に
そのフォームを開く方法がわかりません。

どうかご教授おねがいします!
こんにちは、私もVB.NETを最近、初めたばかりでここで勉強させていただいてます。

以下の方法でも出来ると思いますが、ちょっとスマートさに欠けるような気がします。識者の方、代替があるようでしたら教えていただきたいです。
    Dim strForm_Name as string
Dim Obj As New Form1(Form1は実際に自分で作成したフォーム名)

strForm_Name = text1.text

If Obj.Name = strForm_Name Then
Obj.Show()
End If

あと、VB6 → VB.NETへ変換してくれる、アップデートウィザードなるものが
あるようです、調べてみてはいかがでしょうか?
アップデートウィザードはお奨めできません。
使わない方がいいです。
きいぼーです。

Tipsの「VB6のFormsコレクションに代わるものは?」を参考に
Formコレクションのようなものを自作しておき、
フォーム名で、対応するFormオブジェクトを開くのが、
.Netとしては、いいのでしょうけど。

頻度が多い処理でないのであれば、

Dim frm_Next as From
select Case Text1.text
Case "FORM1"
frm_Next = New From1
Case "FORM2"
frm_Next = New Form2
End Select

frm_Next.Show

ではいかがでしょうか
フォームの文字列からフォーム型に変換?できれば楽だと感じたのですが
難しいみたいですね。
■No5116に返信(じんさんの記事)

過去ログより

文字列からフォームのインスタンスを起動する方法
http://dobon.net/vb/bbs/log3-4/2151.html
■No5147に返信(深山さんの記事)
> ■No5116に返信(じんさんの記事)
>
> 過去ログより
>
> 文字列からフォームのインスタンスを起動する方法
> http://dobon.net/vb/bbs/log3-4/2151.html

解決しました!ありがとうございます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板