首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确设置Anchor / Docking,以便GUI可以适应多种屏幕尺寸

如何正确设置Anchor / Docking,以便GUI可以适应多种屏幕尺寸
EN

Stack Overflow用户
提问于 2012-01-16 02:33:48
回答 1查看 4.1K关注 0票数 0

我有一个简单的WinForms图形用户界面,我想和TabPages一起使用。我遇到的问题是调整大小和处理不同尺寸的屏幕。我应该为每一个TextBox,GroupBox更改什么设置,使它能很好地适应屏幕,而不会让用户觉得它设计得很糟糕?

通常我会使用Dock Fill,但它不能在超过1 GroupBox的情况下工作。然后我检查/玩Anchor试图使它绑定到顶部,左侧,右侧,底部的所有东西,但这会造成很大的混乱(文本框重叠其他标签,文本框等)。我试着在这里选择一些,在这里选择一些,但每当我尝试调整大小时,意外的事情就会发生。我该怎么做呢?我的系统是24英寸,分辨率是1920x1080p,但我的用户通常的范围是1024x768到1920x1080。

现在我使用的是Devexpress控件,但这个问题同时适用于Devexpress控件和内置控件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-16 03:35:09

首先,在设计器中将窗体大小设置为略低于最小预期分辨率-例如900x650左右。然后,您可以设计一个窗体,即使不调整其大小,它也可以在所有分辨率下工作。

接下来,找出哪些控件应该保持固定的大小,哪些控件应该随着窗体的变大而伸展/增长。首先,一些字段不会从放大中受益(例如,如果您的文本框始终包含最多3位数字的百分比,则允许其增长到足以显示9位数字是毫无意义的,甚至适得其反。其次,一些字段会填满表单的整个宽度,因此,如果它们与之一起增长,它们自然会工作得更好。

现在,设置锚点。通常,将控件的边缘锚定到窗体的最近边缘。如果只设置一个锚点,控件将不会拉伸,并且锚定的边缘将从窗体的该侧开始相同的距离。

如果你想要一个控件拉伸,锚定相对的两边(如左和右)。这将使这些边缘与窗体的边缘保持相同的距离,因此控件将拉伸以适应。

您将看到,如果一个控件被锚定在适当的位置,而它旁边的控件被设置为stretch,则它们很可能最终会重叠,因此您必须将整个窗体中的所有控件视为一个相关的组。

要获得更多控件,请将多组控件放入容器控件中,如面板或组框。然后,它们的锚定与它们的父组相关,并且组可以锚定到表单。

要查看效果,只需在设计器中调整窗体大小并查看所有内容的位置,然后撤消并修复所有不起作用的锚定。您很快就会了解布局是如何工作的,以及如何设计窗体来很好地调整大小。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8872256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档