我正在为我公司的内部业务系统试验插件体系结构。我设法读取实现特定接口的Plugin文件夹中的所有.DLL。我试图弄清楚的是“宿主”MDI父应用程序与将要放入.DLL中的打算制作MDI子项的表单之间的最佳通信方法。插件体系结构 - 使MDI父窗体意识到DLL中的儿童
目前,我只返回来自.DLLs的ToolStripMenuItem对象以添加到MDI Parent。我还测试了将.DLL中连接到ToolStripMenuItems的事件传播到.DLL中的代码。我还设法通过界面返回一个Form对象并打开该窗体,因为Plugin文件夹正在被“扫描”。
但是,我不清楚我将如何使这些形式的MDI儿童。此外,生活在.DLL中的任何其他形式也必须是MDI儿童。我创建了一个VS 2008 Addin项目来查看正在发生的事情,看起来Addin接受一个Application对象,它将它添加到ToolStripMenuItems并执行其他操作。在.DLL中构建菜单的代码。这与我迄今所做的相反,即MDI从每个.DLL请求一个ToolStripMenuItem,并将返回的对象添加到它自己的菜单中。
设计我的插件体系结构以相同的方式接受应用程序对象唯一的方法,我可以让窗体打开为MDI孩子?我是否通过不将应用程序对象传递给.DLL来请求其他的,目前我不知道的头痛?
我很想做类似的事情。你有没有得到这个工作?我不确定如何让主机窗体监控一个文件夹,一旦这样做,如何让它检查正确的界面来添加一个插件。你介意发布,如果不是你的代码的链接,那么可能是你如何得到这个工作的示例代码? – 2010-07-07 21:42:04