I'm familiar with using late binding to execute methods stuffed inside DLLs:

private void Execute(string assemName, string typeName, string methodName)
	object obj = null;
	Assembly assem = Assembly.LoadFrom(assemName);
	Type typeToRun = null;
	Type[] types = assem.GetTypes();
	foreach (Type t in types)
		if (t.Name.Equals(typeName, StringComparison.CurrentCultureIgnoreCase))
			obj = Activator.CreateInstance(t);
			typeToRun = t;

	if (typeToRun != null)
		MethodInfo mi = typeToRun.GetMethod(methodName);
		object[] paramList = new object[];
		object results = mi.Invoke(obj, paramList);

But what I really want to do is late bind to user controls in external DLLs. Suppose I have an executable with an empty form. Is it possible to late bind a DLL with a user control defined in it and place the control on the form?