0

こんにちは。フォームをからロードしたいのですが、フォーム名をDBdatabaseに保存しています。Form1次に、他のフォームボタンクリックイベントでこのフォーム名を取得したいのですが、フォーム名を文字列に保存して次のように試しましたが、フォームを読み込めません。

string strFromName="Form1";
Type type = Type.GetType(strFromName); // Null reference is coming here
Form form = (Form)Activator.CreateInstance(type);
4

2 に答える 2

1

フォームの完全修飾名 ("TopNamespace.SubNameSpace.Form1") を指定するか、フォーム クラスが呼び出し以外のアセンブリにある場合は、AssemblyQualifiedName ("TopNamespace.SubNameSpace.Form1,MyAssembly") を指定する必要があります。 )。

詳細については、Type.GetTypeのドキュメントを参照してください。

于 2012-09-24T12:21:07.983 に答える
1

アセンブリからすべてのタイプを取得し、インスタンスのタイプを取得した後、名前で文字列「Form1」とインスタンスを比較します

于 2012-09-24T12:17:52.577 に答える