Winforms Windows窗体(或一般GUI开发)建议
我应该如何开发一个可以很好地调整大小的表单 虽然这听起来像是一个简单的问题,但我正在努力解决的问题是,我正在复制几年前在Swing中创建的现有应用程序。它围绕单个窗体构建,在选择不同选项时隐藏/显示面板 它大约有600 x 700像素宽,但它是一个固定大小的窗口 这是好的做法吗?GUI以这种方式工作很好,但是如果您查看其他应用程序,您可以轻松地调整它们的大小。虽然有些应用程序看起来很愚蠢,但是否应该有这样的选项 主屏幕由大约五个按钮组成,当最大化时,这看起来很可笑,但同时,如果表单在您开始调整表单大小时就可以调整大小,那么它就变得愚蠢了 我知道布局管理器等等,所以不需要告诉我检查这些,我的主要问题是我可以生成一个优秀的固定宽度应用程序,但仅此而已Winforms Windows窗体(或一般GUI开发)建议,winforms,user-interface,Winforms,User Interface,我应该如何开发一个可以很好地调整大小的表单 虽然这听起来像是一个简单的问题,但我正在努力解决的问题是,我正在复制几年前在Swing中创建的现有应用程序。它围绕单个窗体构建,在选择不同选项时隐藏/显示面板 它大约有600 x 700像素宽,但它是一个固定大小的窗口 这是好的做法吗?GUI以这种方式工作很好,但是如果您查看其他应用程序,您可以轻松地调整它们的大小。虽然有些应用程序看起来很愚蠢,但是否应该有这样的选项 主屏幕由大约五个按钮组成,当最大化时,这看起来很可笑,但同时,如果表单在您开始调整表
有什么建议/链接吗?就我个人而言,我认为固定大小的表单是一种可怕的用户体验 我总是尝试建立我的,以便他们可以优雅地调整大小(即使他们看起来有点奇怪)
如果您在WinForms开发中使用.NET,您可以轻松地使用表布局,然后锚定控件,以便它们有礼貌地调整大小。固定大小的gui通常不是一个好主意,因为大多数表单都有一个用户界面元素,可以合理地调整大小 <>首先考虑一个只包含两个按钮的窗体。(一个愚蠢的表单,是的,但是为了讨论的目的,我们假设它是适合工作的)当最初以正确的方式调整大小时(例如,适合本地化),没有充分的理由使表单可以调整大小。如果您放大或缩小表单,您只会使单击按钮的区域变大,但您会单击比按钮小的区域来调整其大小,因此没有理由。在这种情况下,表单的大小调整没有意义,因为添加额外控件对用户没有好处
现在考虑一个包含ListVIEW的窗体。使此表单在两个维度上都可调整大小有明显的可用性好处。listview可能包含比在较小区域中显示的项目更多的项目(水平和垂直),因此此表单可以完全调整大小,以允许用户显示所需的任意多或任意少的数据
每个表单控件通过约束或约定隐式地具有一定的自由度。按惯例,按钮不调整大小,因此它们没有自由度(即使它们可以调整大小)。ListView和ListBox有两个自由度,水平方向显示每行更多数据,垂直方向显示更多行。单行文本框具有一个水平自由度。因为它们是单线,所以它们不会垂直扩展,但会水平扩展这些自由度可帮助您确定窗体的布局。调整窗体大小时,具有自由度的窗体元素应按适当的方向调整大小。我更喜欢只使用一个控件来设计表单,该控件在通常通过拆分器分隔区域的区域中具有两个自由度。我宁愿避免使用显式表布局面板,除非有非常特殊的需要,因为当有表布局时,很容易使表单过于复杂。WinForms中的锚为控件布局提供了极其强大和灵活的抽象,因此我强烈鼓励使用它们。除了布局面板(我最喜欢的是表格布局)之外,还需要熟悉锚、停靠(更多关于表格布局)和MinimumSize属性。在调整表单大小时,它们会为您做很多工作 您的大多数表单看起来都很傻,但我的一般规则是: