通过反射字符串动态创建控件

        /// <summary>
        /// 动态创建控件
        /// </summary>
        /// <param name="form">窗体(需要添加控件的窗体)</param>
        /// <param name="controlType">控件类型(例如:System.Windows.Forms.Button)</param>
        /// <param name="controlName">控件名称</param>
        /// <param name="point">控件的坐标</param>
        /// <param name="size">控件的大小</param>
        private void CreateControl(Form form, string controlType, string controlName, Point point, Size size)
        {
            try
            {
                this.SuspendLayout();
                string assemblyQualifiedName = typeof(System.Windows.Forms.Form).AssemblyQualifiedName;
                string assemblyInformation = assemblyQualifiedName.Substring(assemblyQualifiedName.IndexOf(","));
                Type t = Type.GetType(controlType + assemblyInformation);
                Control control = (Control)System.Activator.CreateInstance(t);
                control.Location = point;
                control.Name = controlName;
                control.Size = size;
                form.Controls.Add(control);
                this.ResumeLayout();
            }
            catch { }
        }
原文地址:https://www.cnblogs.com/rogation/p/3140667.html