c# - 如何隐藏和显示窗体上的面板并调整其大小以占用空间?

标签 c# .net winforms

我有一个包含三个面板的表单。 我希望顶部两个高度固定,底部一个填充其余空间。 该对话框是可调整大小的,所以所有的都应该在 resixze 上改变宽度,底部的应该改变高度。 这很重要,用户必须能够通过代码扩展表单以及程序。

如果我将面板设置为 visible = false,我希望表单高度缩小,以便其他面板保持相同的高度。 如果我将面板设置为 visible = true,我希望窗体高度按面板的高度增长。

我将使用按钮控制面板的隐藏/显示。我的想法是在我的表单中为“高级”模式显示某些面板,并为“简单”模式隐藏它们。如果我隐藏一个面板,我不能有一堆空白,我希望表单为简单模式缩小一堆。

我尝试将面板停靠在顶部来执行此操作,但用户调整表单大小不会更改面板高度。所以这是我寻求帮助的主要技巧。

最佳答案

处于这种情况的任何人都可以使用以下样式:

  1. 使用 2-3 面板对不同的控件进行分组,并将它们放在单个父控件中,例如 GroupBox。

  2. 使所有子面板停靠在同一侧说“顶部”。

  3. 如果任何面板由于类似对接而跳过另一个面板。在 Visual Studio 中,转到菜单 View > 其他窗口 > 文档大纲并设置显示顺序。 ( https://msdn.microsoft.com/en-us/library/46xf4h0w%28v=vs.80%29.aspx )
  4. 按如下方式设置 Panel 属性: 自动调整大小:真 AutoSizeMode:增长和收缩

一旦面板不可见,其他面板将把空白区域带走。

希望这有帮助!!!

关于c# - 如何隐藏和显示窗体上的面板并调整其大小以占用空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20893725/

相关文章:

c# - 来自 .NET 的 Windows Mobile API 调用 - 什么是 dll 以及什么是枚举值

c# - 在 C# 代码中使用下标字符?

c# - List <myCustomClass>的集合初始值设定项无法正常工作,给出 “; expected”编译错误。为什么?

c# - 将多个文本框条目保存到单个文件,C#

c# - 杀死应用程序实例的最佳方法

c# - Linq 的 GroupBy 方法如何延迟执行?

c# - BitmapFrame.Create 异常(WPF 框架中的错误?)

c# - 如何将数据(实体)从一个数据库传输到另一个数据库

c# - ServiceStack OrmLite 多对一关系

c# - 我如何获得 RadGridView 列总和?