微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 从动态加载的DLL显示一个表单

这是我以前问过的一个问题的延伸 here.

长篇小说,我动态加载一个DLL,并使用以下代码形成一个类型:

Assembly assembly = Assembly.LoadFile("C:\\test.dll");
Type type = assembly.GetType("test.dllTest");
Activator.CreateInstance(type);

从那里我可以使用类型来引用dllTest类中的任何东西.该类认运行时应该提出一个表单(在这种情况下,相当空白,所以不复杂).

我觉得我在这里丢失了一个关键的代码行,这是保持窗体加载在屏幕上的.

dllTest.cs(在DLL内)包括

namespace test
{
    public partial class dllTest : Form
    {
        public dlltest()
        {
            InitializeComponent();
        }
    }
}

InitializeComponent()设置窗体的布局,这太长了粘贴到这里,不应该有所作为.

有任何想法吗?

解决方法

您必须使用刚刚创建的表单执行某些操作:
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)

原文地址:https://www.jb51.cc/csharp/94906.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐