В следующем семестре я буду брать курс «Практика программного обеспечения II». В этом классе мой профессор хочет, чтобы мы изучали XNA. Я довольно давно играю с XNA и наслаждаюсь его функциональностью и простотой. Однако XNA не использует System.Windows.Forms. Используя CEGUI #, я смог заставить XNA работать с System.Windows.Forms, НО у него ограниченная функциональность (например, в то время как у мыши есть «Щелчок левой кнопкой мыши» и «Двойной щелчок левой кнопкой мыши», у нее нет » бремя").
Итак, я отказался от XNA в пользу нового фреймворка. Вот мой вопрос -> Есть ли фреймворк C#, который имеет все функциональные возможности и простоту, как XNA, но также полностью совместим с System.Windows.Forms (или, по крайней мере, полностью совместим с System.Windows.Forms, если я использую Сторонний инструмент)? Фреймворк НЕ должен работать с XBox360 - он должен работать только с Windows XP и Windows Vista. Я хотел бы, чтобы он имел синтаксис, аналогичный XNA (другими словами, чтобы иметь аналогичные методы, такие как LoadContent, Draw и Update).
Спасибо за уделенное время,
~ BenShums
Я использую GEGUI # и могу перетаскивать с ним окна. Это очень мощный инструмент. Если у вас есть конкретная проблема, которую вам нужно решить, возможно, мы сможем решить эту проблему, прежде чем вы откажетесь от нее.





Вы можете попробовать Managed DirectX (MDX - переход на «неподдерживаемую» территорию), SlimDX или даже WPF 3D ...
Я бы порекомендовал SlimDX
Мне любопытно услышать, почему вы отказываетесь от XNA. Можете ли вы уточнить, что именно вы пытаетесь сделать и почему так важно подключение к Windows Forms, а точнее, что именно не работает? Я бы посоветовал хотя бы попытаться придерживаться XNA - кажется, он никуда не денется, кроме как вверх, и, судя по тому, что я видел, действительно хорош. Я бы исследовал различные причины, по которым вы чувствуете, что не можете использовать XNA, и посмотрел бы, можно ли как-то их решить.
Но также вполне возможно, что я не понимаю, что вы пытаетесь сделать. Если да, то приношу свои извинения!
Перетаскивание - это просто оболочка для движения, когда кнопка мыши нажата, и это, безусловно, достаточно легко сделать. Мне также любопытно, какие формы окон есть, чего нельзя делать в XNA (кроме очевидного рисования окон пользовательского интерфейса, которое вы можете делать в XNA только не для главного окна).
Если вы просто используете SpriteBatch, вероятно, будет не так уж сложно создать совместимый API в Windows Forms, но если вы хотите делать 3D или шейдеры, это будет намного сложнее.
вам следует попытаться объяснить, почему так необходимы winforms и как, следовательно, следует выгружать XNA. Мне это кажется опрометчивым шагом.