当前位置 : 主页 > 手机开发 > 无线 >

WPF:一次移动并调整窗口大小

来源:互联网 收集:自由互联 发布时间:2021-06-10
在Win32 API中,函数SetWindowPos提供了一种简单的方法来一次移动和调整窗口大小. 但是,在WPF类窗口中没有像SetWindowPos这样的方法.所以我必须编写如下代码: this.Left += e.HorizontalChange; this.T
在Win32 API中,函数SetWindowPos提供了一种简单的方法来一次移动和调整窗口大小.

但是,在WPF类窗口中没有像SetWindowPos这样的方法.所以我必须编写如下代码:

this.Left += e.HorizontalChange;
        this.Top += e.VerticalChange;
        this.Width = newWidth;
        this.Height = newHeight;

当然,它运作良好,但并不简单.它看起来很脏.

如何移动窗口并立即调整大小?

有API吗?

您可以将代码包装在辅助方法中.像这样:

public static class WindowExtensions {
    public static void MoveAndResize( this Window value, double horizontalChange, double verticalChange, double width, double height ) {
        value.Left += horizontalChange;
        value.Top += verticalChange;
        value.Width = width;
        value.Height = height;
    }
}

所以你的调用代码如下所示:

this.MoveAndResize( 10, 10, 1024, 768 );

我已经离开名称空间并使用声明,在复制时请记住这一点.

编辑:

您也可以使用API​​.我个人坚持使用托管代码,除非我真的需要使用API​​.但这取决于你.

网友评论