利用WPF建立自适应窗口大小布局的WinForm窗口

利用WPF 建立自适应窗口大小布局的

WinForm 窗口

编写WinForm 程序时,都会碰到一个问题。就是WinForm 窗口在不同分辨率下的大小问题。举例说明,你编写的WinForm 窗口在1024×768下是合适、匀称的。不过,如果用户的计算机的分辨率为1400×900时,你的WinForm 窗口就显得偏小,其中的字体和控件都显得偏小。如果用户的分辨率为640×480,那你的窗口就远远超过它的屏幕的大小。 如何解决这个问题?一般的WinForm 程序都会这样操作:程序启动——》获取屏幕分辨率——》调整窗体的大小——》调整各个控件大小及位置——》调整各个控件的字体。这样操作比较繁琐,并且要考虑到各种分辨率的情况。这样一来,如果WinForm 窗口上有若干控件,调整是一件很痛苦的事。

有没有这样的手段。我只要调整WinForm 窗口的大小,其中的各个控件大小(包括字体)自动的等比例缩放?

还记得一些DirectX 的游戏程序吗?当设定为固定的分辨率时(比如800×600),在全屏的时候,他都会自动缩放。WinForm 有这样的手段吗?

答案是肯定的。在WPF 中就能很简单的实现该功能。

利用WPF 中的ViewBox 容器空间。ViewBox 是一个容器空间,它会自动缩放容器中的子空间以填满自身,同时它只能有一个子控件。不过,我们可以把Canvas 控件作为ViewBox 控件的子控件。然后在Canvas 控件中布局其他的控件。

先看看下面的窗口的Xaml 文件

利用WPF建立自适应窗口大小布局的WinForm窗口的相关文档搜索

相关文档