您的位置:首页 > 编程语言 > C#

C# 反射动态创建窗体

2012-08-14 21:26 357 查看
在现在写的一个控件中,我想根据窗体的设置进行加载窗体,因此使用反射,将窗体的信息添加到数据库中,不知道窗体在什么地方,也不知道窗体的更多信息,因此使用反射来创建窗体。

代码如下:

#region 点击菜单项显示窗体
/// <summary>
/// 点击菜单项显示窗体
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void menuItem_Click(object sender, EventArgs e)
{
// 获得窗体的名空间
string strForm = (sender as ToolStripMenuItem).Tag.ToString();
// 获得Assembly
Assembly assembly = Assembly.GetExecutingAssembly();
// 实例化窗体
Form form = assembly.CreateInstance(strForm) as Form;
// 窗体设置
form.TopLevel = false;
form.WindowState = FormWindowState.Maximized;
form.FormBorderStyle = FormBorderStyle.None;
// 加载窗体
this.panelContainer.Controls.Clear();
this.panelContainer.Controls.Add(form);
// 显示窗体
form.Show();
}
#endregion
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: