C# 动态创建窗体

Form的命名空间保存在数据库中,存放在menuMap中,通过按钮LinkLabel映射到具体的URL。点击LinkLabel后动态创建注册的窗口
/// <summary>
        /// 链接点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        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();
        }


版权声明:本文为windyboy911原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。