C# 动态创建窗体

Form的命名空间保存在数据库中,存放在menuMap中,通过按钮LinkLabel映射到具体的URL。点击LinkLabel后动态创建注册的窗口
/// 
        /// 链接点击事件
        /// 
        /// 
        /// 
        private void menuClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            Assembly tempAssembly = Assembly.GetExecutingAssembly();
            LinkLabel link = (LinkLabel)sender;
            String test = link.Name;
            String formUrl = _menuMap[link.Name].ToString();
            //Form的完整命名空间
            Type t = tempAssembly.GetType(formUrl);
            object o = System.Activator.CreateInstance(t, null);
            ((Form)o).MdiParent = this._mainForm;
            ((Form)o).Show();
        }

你可能感兴趣的:(C#)