vb.net – 自动调整winform并控制屏幕大小

前端之家收集整理的这篇文章主要介绍了vb.net – 自动调整winform并控制屏幕大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个winform应用程序.每个屏幕的大小为1361,像素为768.这适用于大屏幕和/或笔记本电脑.但现在我必须将我的应用程序移动到10英寸屏幕平板电脑,这意味着我的应用程序不适合.

我以前从未处理过这个问题,如何在较小的屏幕上查看时如何自动调整每个表单大小并调整所有控件和面板?

我正在使用VS 2012.

使表单在WinForms中完全可扩展是可能的,但它需要一些工作.好消息是,大部分工作都是在设计时完成的,正确安排控件,以便框架自动完成所有工作.这很苦差,但并不困难.感到高兴的是,您不必像使用VB 6那样逐个手工编写缩放代码.

您需要了解四个基本属性

> Anchor
> Dock
> Margin
> Padding

最后两位应该是熟悉CSS的熟悉的Web开发人员 – 他们在这里做同样的事情.填充控制控件周围的内边距,而边距控制外边距.您需要正确设置这些以确保您的控件可以“呼吸”,因为自动缩放代码只是将它们相互阻塞.

Windows桌面应用程序中控件周围的“标准”边距约为12-15像素.你应该确保至少离开这么多房间.然后根据需要添加额外的边距/填充以分隔内容.我保留these layout specifications书签作为参考. This是另一个很好的参考.

下一步是指示布局管理器如何排列和调整控件的大小.关键是要考虑容器控制和儿童控制.表单本身是一个容器控件,您可以将其子控件设置为其边界内的Anchor或Dock.这些子控件中的一个或多个本身可以是容器控件,其子控件可以在其边框内锚定或停靠.嵌套几乎是无限的,但为了您自己的理智和合理的重绘性能,您需要将其保持在合理的最小值.

这样做的一个好方法是使用两个提供的隐形布局帮助器,FlowLayoutPanelTableLayoutPanel.就我个人而言,我发现前者非常有用,至少不是标准的Windows应用程序.但TableLayoutPanel是非常宝贵的.

一般来说,我要做的是用TableLayoutPanel填充我的整个表单(marginins = 0,dock = fill).然后我将向其单元格添加单个控件(或有时是另一个嵌套的TableLayoutPanel).这些子控件的边距设置正确,并且将设置其Anchor或Dock属性,具体取决于我是希望该控件具有固定大小还是动态调整大小.

在您了解这些属性如何交互以及它们如何工作之前,您可能需要稍微调整一下布局.备份表单然后深入挖掘.或者,您可能会发现从头开始设计每个表单更容易(您仍然可以复制并粘贴单个控件以保留其他属性).最终,这一切都将开始对你有意义,你将会兴奋起来.

最棒的是,一旦完成设置,您所要做的就是确保您的表单可以调整大小.然后,无论用户手动调整大小还是使用最大化/恢复按钮,它都会自动填充其屏幕大小.这也适用于所有DPI设置,这是WinForms开发人员的另一个常见的致命弱点.

原文链接:https://www.f2er.com/vb/255014.html

猜你在找的VB相关文章