【问题标题】:Managed DirectX9 MDI托管 DirectX9 MDI
【发布时间】:2009-07-09 21:08:40
【问题描述】:

我正在使用托管 dx9 编写 MDI 应用程序。

当我创建设备时,我传入一个控件。

如果我传入其中一个 MDI 子窗口(或者更具体地说,是 MDI 子窗口中的一个控件),一切都会正常呈现。我可以生成新的子 MDI 窗口并分别绘制到每个子窗口。我可以关闭任何新窗口,没问题。但是如果我关闭原来的子窗口,Device.Clear() 会抛出异常(空引用异常 - 设备已被释放)。

或者,我可以将 Form1 传递给 Device 构造函数。现在我可以根据需要打开和关闭任意数量的子窗口而不会出现异常,但是现在渲染分辨率不太正确 - 图形不像我将子窗口传递给 Device 构造函数时那样清晰。

所以我的第一个问题是: 我可以在构建设备时指定分辨率吗? 我应该将哪个控件/窗口传递给 Device 构造函数? 我究竟做错了什么? :)

谢谢

提姆

【问题讨论】:

    标签: c# directx


    【解决方案1】:

    您应该知道,托管 DirectX 已被弃用,Microsoft 将永远不会再次更新。你应该改用SlimDX

    【讨论】:

      【解决方案2】:

      当使用表单作为传递给设备构造函数的控件时,我无法使分辨率正常工作,因此我重新创建了设备(如果它被丢弃)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-19
        • 2013-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-01
        • 2012-06-15
        相关资源
        最近更新 更多