在Win32 API中,函数SetWindowPos提供了一种简单的方法来一次移动和调整窗口大小. 但是,在WPF类窗口中没有像SetWindowPos这样的方法.所以我必须编写如下代码: this.Left += e.HorizontalChange; this.T
但是,在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.但这取决于你.