提前感谢您的帮助。
在Main()中的以下代码中: Application.Run(new frmBackground(frmExit)) 我正在尝试启动窗口frmBackground,它将窗口作为构造函数中的参数,并在加载所有内容(背景图像)后,然后启动传递的窗口。然而,这不编译,只在我使用时编译 Application.Run(new frmBackground(new frmExit())) 传递正确的窗口参数,但它自己创建一个frmExit实例,并启动窗口,即使启动窗口的frmBackground代码被注释掉。
再次感谢你。
答案 0 :(得分:0)
根据我的理解,当你说Application.Run(new frmBackground(frmExit))时,你没有传递frmExit的实例,而是传递类型(类),根据我的理解,你的方法是期待的一个实例......你可能想做类似的事情:
frmExit exitForm = new frmExit();
Application.Run(new frmBackground(exitForm));
或者有某种“bag”类,你可以保留你可能需要的一些资源的引用,比如这个表单的引用(frmExit),并更改frmBackground的构造函数,然后你替换调用带有“bag”类值的参数变量......类似的东西..
如果这不是您想要实现的目标,我建议您在此处提供有关代码的更多详细信息
答案 1 :(得分:0)
将Type传递给构造函数,然后使用反射在你的fromBackground中创建它这将告诉你如何
Create an instance of a Type, provided as a parameter to a method