C# 主界面和dll之间相互传数据

本文介绍了如何在C#中实现在主界面与动态加载的DLL之间进行数据传递。通过加载DLL、获取类型、创建对象,实现了主界面调用DLL中的控件。同时,详细阐述了如何通过接口传递数据,包括设置接口、赋值以及使用事件来实现DLL返回数据到主界面。此外,还展示了如何在一个DLL中调用另一个DLL并关闭自身。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主界面动态调用dll,如:
            //加载控件
            Assembly assembly = Assembly.LoadFrom(@"C:\Documents and Settings\king.xu.GRANDSYS-DOMAIN\桌面\aa\WindowsApplication2

\bin\Debug\WindowsControlLibrary1.dll");
            //获得类(型)
            Type type = assembly.GetType("WindowsControlLibrary1.UserControl1", false, true);
            //设置筛选标志
            BindingFlags bflags = BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance;
            //调用构造函数并获得对象
            Object obj = type.InvokeMember("WindowsControlLibrary1", bflags | BindingFlags.CreateInstance, null, null, null);


            UserControl userControl11 = null;
            //userControl11 = new WindowsControlLibrary1.UserControl1();
            userControl11 = (UserControl)obj;

            this.SuspendLayout(); //这个方法和稍后的ResumeLayout方法有什么作用???  

            userControl11.Location = new System.Drawing.Point(16, 16);
            userControl11.Name = "userControl11"; //这个name有什么意义?一般会在哪用到???  
            userControl11.Size = new System.Drawing.Size(400, 208);

            //this.Controls.Add(userControl11);
            //this.ResumeLayout(false);

       

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值