1

你好,来自被称为互联网的黑社会的亲爱的人们,

我正在为 Directx 11 创建一个编辑器,到目前为止运行良好,但只有一个小问题:

这就是我如何让我的表单调用渲染函数:

Application::Idle += gcnew EventHandler(&Ideling);

现在这实际上有效,但是,只有当我将鼠标悬停在它上面时它才有效,如果我将鼠标仍然放在它上面(并且焦点在它上面),它不会做任何事情。所以只有当鼠标悬停在它上面时才会调用idling函数。我的问题是:我怎样才能避免这种情况?使其始终呈现。

现在这对我来说是一个巨大的痛苦。

谢谢你

4

1 回答 1

1

规则是在从消息队列中检索到最后一条消息后调用一次。因此,保持它继续运行需要不断生成消息,例如通过移动鼠标。或者通过让您的空闲事件生成一条消息。调用表单的 Invalidate() 方法。这会生成一个 Paint 事件。如果不需要做任何其他事情,则紧随其后的是 Idle 事件。

通过谷歌搜索“Winforms 游戏循环”找到更多方法。

于 2012-09-05T01:02:24.470 回答