这是我之前在这里提出的问题的扩展.
长话短说,我动态加载DLL并type
使用以下代码创建一个:
Assembly assembly = Assembly.LoadFile("C:\\test.dll");
Type type = assembly.GetType("test.dllTest");
Activator.CreateInstance(type);
Run Code Online (Sandbox Code Playgroud)
从那里我可以type
用来引用dllTest
课堂上的任何东西.默认情况下,该类在运行时应该显示一个表单(在这种情况下,相当空白,因此它并不复杂).
我觉得我在这里错过了一个关键的代码行,这样可以防止表单在屏幕上加载.
dllTest.cs
(在DLL中)包括:
namespace test
{
public partial class dllTest : Form
{
public dllTest()
{
InitializeComponent();
}
}
}
Run Code Online (Sandbox Code Playgroud)
InitializeComponent()
设置表单的布局,这个太长了,不能粘贴在这里,不应该有所作为.
有任何想法吗?
Jua*_*nma 14
您必须对刚刚创建的表单执行某些操作:
Assembly assembly = Assembly.LoadFile("C:\\test.dll");
Type type = assembly.GetType("test.dllTest");
Form form = (Form)Activator.CreateInstance(type);
form.ShowDialog(); // Or Application.Run(form)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
23997 次 |
最近记录: |