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

Form名を指定しFormを開く方法。

環境/言語:[VB.Net Framework 1.0]
分類:[.NET]

VB.Net Framework 1.0

テキストボックスにForm名を入力し実行ボタンを押したら
テキストボックスに指定したNemeのフォームが開くようにしたいのですが
テキストボックスの値はString型でどうやったら Formを開けるのかがわかりません。

通常
Dim F as New Form1
F.ShowDialog()

でモーダル表示で開けますが任意の名前の時はどうしたらよいのですか
よろしくおねがいします
解決済み!
> テキストボックスにForm名を入力し実行ボタンを押したら
> テキストボックスに指定したNemeのフォームが開くようにしたいのですが
> テキストボックスの値はString型でどうやったら Formを開けるのかがわかりま

こんにちは。

Reflectionという機能を使ってできることはできます。
イメージとしては

Dim t As Type = [Assembly].GetExecutingAssembly().GetType(TextBox1.Text)
Dim f As Form = CType(Activator.CreateInstance(t), Form)
f.Show()

こんな感じでしょうか。ただし、GetTypeに指定するフォームの名前
は完全名でなければいけません。
私のサイトにもサンプルがありますので、参考にどうぞ。

DOBON.NET .NET Tips - 文字列で指定されたクラスのインスタンスを作成する
http://dobon.net/vb/dotnet/programing/createinstancefromstring.html

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