4

有没有办法WinformResize End中调整窗口大小?

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

4

3 回答 3

3

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

基本逻辑是——

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

幸运的是,这篇 MSDN帖子为此提供了工作代码。我为您制作了一个工作样本。 http://www.mediafire.com/download/427g2h2ajm5z62m/ResizeFrame.zip

您将需要对此进行调整,以便仅当用户“MouseDown”靠近边框时才会调整表单大小。

于 2013-09-15T07:24:21.883 回答
2

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

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

注意:“用户移动表单后也会生成 ResizeEnd 事件”。

于 2014-04-23T09:32:54.840 回答
0

尝试这个。

protected override void OnResizeBegin(EventArgs e) {
            SuspendLayout();
            base.OnResizeBegin(e);
        }
        protected override void OnResizeEnd(EventArgs e) {
            ResumeLayout();
            base.OnResizeEnd(e);
        }
于 2018-11-02T05:50:36.350 回答