Я хочу создать приложение (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 или есть лучшее решение для этого?