仅在调整大小结束时调整通知窗口的大小

本文关键字:调整 窗口 通知 结束 | 更新日期: 2023-09-27 18:31:17

有没有办法在调整大小结束中调整Winform窗口的大小?

这意味着只要单击鼠标,我就会看到线条,只有当我离开鼠标(调整大小结束)窗口才会在屏幕上调整大小。

仅在调整大小结束时调整通知窗口的大小

您需要使用 DrawReverseFrame。需要禁用默认大小调整(FormBorderStyle = FixedSingle)。

基本逻辑是——

MouseDown - 开始跟踪
MouseMove - 绘制可逆帧
MouseUp - 停止绘制可逆框架。调整表单大小。

幸运的是,这个MSDN帖子有这方面的工作代码。我为您制作了一个工作样品。http://www.mediafire.com/download/427g2h2ajm5z62m/ResizeFrame.zip

您需要对此进行调整,以便仅在用户"鼠标按下"靠近边框时才进行表单大小调整。

如果只调整包含的控件的大小是可以的(以及窗体本身 - 立即) - 使用 窗体的 ResizeEnd 事件。

(我假设是这种情况,因为通常没有理由延迟窗体本身的大小调整,而是包含的控件,因为它们的大小调整可能"昂贵"。

注意:"ResizeEnd 事件也是在用户移动窗体后生成的"。

试试这个。

protected override void OnResizeBegin(EventArgs e) {
            SuspendLayout();
            base.OnResizeBegin(e);
        }
        protected override void OnResizeEnd(EventArgs e) {
            ResumeLayout();
            base.OnResizeEnd(e);
        }