SQLデータから関連するフォームオブジェクトオブジェクトを取得する方法

私は ToolStrip
を持つ小さなアプリケーションを持っています。ユーザーがいずれかのボタンをクリックすると、フォームを開く必要があります。
ToolStrip を動的にロードしたいと思います。

ToolStrip がロードされるテーブルのスキームは次のとおりです。

Table "toolstripitem" 
---------------------
 ID
 form_object  (varchar)
 image_url
 item_order

アプリケーション内のフォームに form_object
文字列を関連付けるにはどうすればよいですか?

Example:

frmStore という名前のフォームがアプリケーションに存在する場合、
form_object"frmStore"
の値を持つ文字列として返されます。文字列を frmStore フォームに追加しますか?

ベストアンサー

この方法で試してみてください:

// here goes fully qualified name,
// format: TopNamespace.SubNameSpace.ContainingClass+NestedClass,MyAssembly
string typeName = "WindowsFormsApplication4.frmStore,WindowsFormsApplication4";
Type frm = Type.GetType(typeName);
Form f = Activator.CreateInstance(frm) as Form;
if (f != null)
    f.Show();

Added:

typeName形式: WindowsFormsApplication4 – 名前空間、 frmStore – クラス名、
WindowsFormsApplication4 – アセンブリ名

It works for forms that have parameterless constructor which
usually is true. For different type constructor check Activator.CreateInstance Method

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です