繁体   English   中英

如何将组件的大小链接到窗口大小?

[英]How can I link a component's Size to the Window size?

我正在制作一个简单的WinForms程序。
我想将组件的大小链接到Window的大小。

假设用户通过拖动它的边框来放大或缩小窗口:我希望当窗口执行时组件变大,反之亦然。

让我们假设我们在窗口的中心有两个按钮并排:我想让它们填充整个窗口宽度的相同尺寸。

我怎样才能做到这一点?

示例过程,使用TableLayoutPanel和2个按钮:

  • 将TableLayoutPanel添加到窗体
    1. 编辑“列”和“行”集合,以便将2个列(大小均为50%和一行)设置为“ Autosize
    2. 将TableLayoutPanel的Location.X设置为0并将其宽度调整为Form的宽度。
    3. 将TLP Anchor属性设置为LeftRight
    4. 调整 - 拖动行高度为其将托管的按钮大小的两倍
  • 在表单中添加一个按钮
    1. 根据需要调整按钮的外观。
    2. CTRL -拖动Button以创建完全重复的内容
    3. 将两个按钮添加到TableLayoutPanel的两个单元格中
    4. SHIFT -选择两个按钮并将Dock属性设置为DockStyle.Fill
    5. 您现在可以调整按钮的Margin属性(仍然选中,因此相同的设置将适用于两者)以修改控件之间的空间
  • 根据需要重新调整TableLayoutPanel的唯一行高。
  • 额外:如果您在表单上只有这些控件,您可能需要修复表单的MinimumSize ,以避免在调整表单大小时,您的控件缩小到无法识别,破坏整体布局:调整表单的大小设计器到托管控件布局受损的点,找到合适的最小大小并将此度量用作Form的MinimumSize属性。 可以仅使用WidthHeight测量(例如, (100, 0) MinimumSize来设置MinimumSize 这限制了表格的Width但不限制Height 或者相反,当然。

如果,当拖动TableLayoutPanel内的按钮时,按钮不会自动插入单元格的左上角位置,而是显示位于随机位置,那么TableLayoutPanel已经变得流氓 ,需要放下。 删除它并在表单上删除另一个。 冲洗并重复。

如果您稍微篡改布局,可能会发生这种情况。 比尝试纠正问题更好的开始

TableLayoutPanel控件概述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM