DirectX无法在MDI子窗体中呈现

时间:2016-01-18 09:51:56

标签: c# winforms directx-11 mdi sharpdx

我在C#中使用sharpdx以多种形式呈现DirectX 11场景。 只要表单没有MdiParent,渲染就会起作用。我将父表单设置为MdiParent时,他们不再显示已呈现的内容,并且在调整大小时不会刷新(请参阅图像的下半部分)。

顶部是以多种形式渲染,底部部分采用MdiParent设置相同的形式:

初始化函数中代码的差异:
    ParentForm.IsMdiContainer = true;以及稍后的每个子表单MdiParent = ParentForm

ParentForm的初始化

ParentForm = new RenderForm();
ParentForm.IsMdiContainer = true;
ParentForm.Show();

MdiChilds的初始化

for (int i = 0; i < 2; i++) {
  ProjectorForm projectorForm = new ProjectorForm(device) {
    ClientSize = new Size(Configuration.Width, Configuration.Height),
    MdiParent = ParentForm,
  };
  projectorForm.Show();
  ProjectorViews.Add(projectorForm);
}

render方法在一个线程中运行,并循环遍历每个表单呈现方法。

0 个答案:

没有答案