调整 C# Windows 窗体大小时防止窗口重绘

发布于 2024-08-23 19:55:35 字数 209 浏览 6 评论 0原文

我可以监听哪些窗口消息或事件来阻止窗口重绘其大小调整的每个像素?

也就是说,当用户单击窗口边缘并开始调整其大小时,我不想重新绘制整个内容,直到他松开为止。这是因为由于某种原因,目前调整大小时很不稳定,可能是因为所有东西都在重新对接等等。

我尝试了 WM_SIZING 但这只告诉我它正在重新调整大小,我希望知道调整大小的开始和结束,以便我可以暂停布局直到用户停止调整大小。

What windows message or event can i listen to in order to stop a window from being redrawing every pixel of it's resize?

That is, when a user clicks on the edge of the window and starts to re-size it, i don't want to re-draw the entire contents until he lets go. This is because for some reason it's currently choppy at resizing probably because everything is re-docking and what not.

I tried WM_SIZING but that only tells me it's being re-sized, i wish to know the start and end of the sizing so i can suspend the layout until the user stops resizing.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

幸福不弃 2024-08-30 19:55:35

没关系,刚刚发现这两个事件。

this.ResizeBegin += (s, e) => { this.SuspendLayout(); };
this.ResizeEnd += (s, e) => { this.ResumeLayout(true); };

工作是一种享受

Nevermind, just found these two events.

this.ResizeBegin += (s, e) => { this.SuspendLayout(); };
this.ResizeEnd += (s, e) => { this.ResumeLayout(true); };

Works a treat

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文