我想创建一个由多个面板组成的(WinForms)应用程序。对于每个面板,我希望能够分配一个 .dll 文件:
这些 .dll 文件应包含应呈现到相应面板中的 XNA 游戏。
我可以加载这些游戏
var game = (Game)Activator.CreateInstance(System.Reflection.Assembly.LoadFrom(path).GetTypes()
.First(t => t.IsSubclassOf(typeof(Game))));
现在,我不能使用game.Run()
,因为它会启动第二个消息循环。
启动一个新线程也会失败,因为InvalidOperationException
s 涉及从另一个线程访问控件。
我在网上找到的教程只能处理我自己编写的游戏并将其包含在主应用程序中,但我希望能够添加其他游戏,类似于插件。
如何让我的 WinForms 应用程序渲染那些 XNA 游戏,或者有更好的解决方案吗?