尽管已停用重绘,.net win表单仍会保持更新。

时间:2013-01-25 12:35:14

标签: .net winforms drawing refresh block

我需要一些帮助。 我想设置某些获胜形式属性(大小/位置/ ..),而不会在Windows上自动应用这些更改。

我在表单上尝试了WM_SETREDRAW,在更改过程中我跳过了表单的WndProc中的所有消息,没有任何效果。窗口由系统自动调整。

背景:我们需要为我们的应用程序进行全屏切换。问题是用户可以在切换到全屏之前将窗口设置为最大化状态。

所以过渡可以是: 正常 - >最大化 - >全屏(是WindowState Normal(BorderStyle none,max size))

根据此转换:当离开全屏模式时,应用程序必须切换回最大化状态。然后,还原应该将应用程序切换回第一个位置和大小。要使控制按钮(最大化/恢复)正常工作,我必须按照以下方式从全屏切换回最大化时:

  1. 将位置和大小设置为“第一个”值。 (因为他们处于正常状态)
  2. 将应用程序设置为最大化
  3. 然后恢复按钮工作正常,但您可以看到窗口在步骤1中绘制应用程序,然后在步骤2中再次绘制。您可以在步骤1和2中看到Windows桌面,因为窗口实际上已调整大小。

    现在我需要一种方法来以某种方式设置值(以便内部工作正常)但阻止窗口绘制应用程序直到第2步。

    此“停用”在全屏转换期间也会有所帮助,因为您可以看到面板调整大小,直到应用程序覆盖整个屏幕。一点也不好。

    任何想法都会很棒。

0 个答案:

没有答案