有没有办法在调整大小结束中调整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);
}