c# 动态创建系统的控件或类,这些类名或控件都是未知,只知道类的名称。要怎么写?

c# 动态创建系统的控件或类,这些类名或控件都是未知,只知道类的名称。要怎么写?
如知道 System.Windows.Forms.TextBox

或 System.Windows.Forms.Label
这样写 创建不出。
Activator.CreateInstance(System.Type.GetType(textBox1.Text));

示例如下:

private void Form2_Load(object sender, EventArgs e)
{
    var labelType = typeof(Control).Assembly.GetType("System.Windows.Forms.Label");
    var lb = (Control)Activator.CreateInstance(labelType, true);
    lb.Location = new Point(10, 15);
    lb.Width = 50;
    lb.Text = "用户名";
    Controls.Add(lb);

    var textBoxType = typeof(Control).Assembly.GetType("System.Windows.Forms.TextBox");
    var tb = (Control)Activator.CreateInstance(textBoxType, true);
    tb.Location = new Point(60, 10);
    tb.Width = 200;
    Controls.Add(tb);
}

运行结果:

img

你这用法有误,不应该只有这么一句代码,好好看看到底怎么用,再写。
此外,每一步要赋值给变量,看是不是null,避免传错名字导致实例化不成功,那么之后针对null的操作肯定都报错。

谢谢!
https://www.cnblogs.com/zhongwh/archive/2011/04/09/2010922.html
这篇文章的解决方法。Assembly assembly = Assembly.LoadFile("程序集路径,不能是相对路径");
主要是在这里,如何加载系统的程序集。

顺便再问个问题,或我单独开一个:

我们输入 System. 这个点号后的内容 要如何获取呢?就是系统的智能提示
虽然有介绍说用SharpDevelop能用,但好复杂哦。。。