c#中dll控件与父窗口如何交互?

来源:百度知道 编辑:UC知道 时间:2024/05/16 14:54:57
我做了一个c#的应用程序,将程序中几个功能模块分别封装到了几个dll的windows控件里,请问各位高手:
我如何在window控件里调用父窗口里的public变量,或者调用父窗口里的函数?
添加dll引用,只能实现父窗口调用dll控件,而在控件内部无法添加对父窗口的引用,因为父窗口本身是一个exe文件,请问,这个问题如何解决?
还有参数传递,如何从dll控件中,找到父窗口,是进行参数传递的前提,请问,如何找到呢?
我讲的这个父窗口和几个dll的windows控件,全都不是在一个工程里的,每个dll各是一个工程,而父窗口又是一个不同的工程,所以无法直接进行参数的传递,不好意思,可能是这点我没讲清楚.我想在dll里添加引用,将父窗口所在exe引用进来,可父窗口是exe的工程,不让引用,所以才会有以上的问题.
比如父窗口的类我定义为myspace.myform,那我传参数时,参数类型要定为myspace.myform吧,可是定义这种类型前,我总要先引用一下myspace.myform这个类所在的dll吧,可这个类是在一个exe里啊.

用参数传递啊

补充:
dll 为什么要去找?它是被动等待接受参数的啊,它需要什么参数你就传递什么参数嘛,实在不行你可以把整个 Form 实例传递给它嘛

这只能说明你的设计有问题,更改设计吧

添加各个 dll 引用

然后再调用变量即可。

补充:

添加引用是整个项目添加引用,不是父窗口引用。

添加引用后再编译一次,dll文件就被编译进去了。