【问题标题】:Align Two Buttons Perfectly Center Aligned in the WinForms Visual Studio在 WinForms Visual Studio 中将两个按钮完全居中对齐
【发布时间】:2016-11-19 05:38:40
【问题描述】:

在应用程序开始时,必须出现一个带有两个按钮的表单。在顶部按钮上,文字“联系电话”。必须写下,并且必须在底部按钮上写下“位置”文本。这两个按钮必须在表单的客户区域中完全居中对齐(水平和垂直),如下面的短屏幕所示:

当按钮带有文字“联系电话”时第一次单击时,其文本必须更改为您的单元格编号。请看下面的屏幕截图:

第二次单击此按钮时,其文本必须更改为您的 PTCL 编号。 第三次单击此按钮时,其文本必须再次更改为您的单元格编号。第四次单击按钮时,文本必须更改为您的 PTCL 编号。等等。

【问题讨论】:

  • 欢迎来到Stack Overflow。你需要告诉我们问题是什么?说明您希望应用程序的行为方式不适合本网站,请阅读FAQHow to Ask
  • 我认为 OP 希望我们编写一个程序来完成所有提到的事情。
  • 这是一个问题还是规范?如果这是一个问题,那么问题是什么?

标签: c# winforms


【解决方案1】:

为了在中心“完美”对齐按钮:

  1. 用空表单打开设计器
  2. 在工具箱中将TableLayoutPanel 添加到表单中
  3. 使TableLayoutPanel 具有一列和两行,行高必须为 50% - 所以面板将有两个单元格
  4. 设置TableLayoutPanel.Dock = Fill
  5. 在第一个单元格中添加一个按钮
  6. 将按钮添加到第二个单元格 为每个按钮执行后续步骤
  7. 为第一行的按钮设置Anchor = Bottom
  8. 为第二行的按钮设置Anchor = Top
  9. 设置AutoSize = True
  10. 设置AutoSizeMode = GrowAndShrink

【讨论】:

  • 答案需要稍作修正。顶部按钮的Anchor 属性应设置为Bottom,底部按钮的属性应设置为Top。大多数用户不知道 TableLayoutPanel 中的such functionality
  • 此外,如果您使用单个单元格来承载 FlowLayoutPanel 来满足此类要求,那会更好。然后,您可以在中心保留任意数量的按钮,并控制跟随方向以垂直或水平对齐按钮并将组保持在表单的中心。目前您的解决方案适用于 2 个按钮。以this post 为例。
  • @RezaAghaei,谢谢 - 修复了按钮的 Anchor 值。同意FlowLayoutPanel 提供动态添加/删除按钮的可能性。我的解决方案只是满足 OP 要求。
【解决方案2】:

1.右键工具栏

2.点击自定义...

3.选择命令选项卡

4.选择工具栏单选按钮并从下拉列表中选择布局

5.单击添加命令...并从类别部分选择格式

6.选择水平居中和垂直居中命令(不是水平居中和垂直居中)


对于只有一个控件,可以使用 Format => Center in Form => Horizo​​ntally/Vertically

【讨论】:

  • 当尺寸改变时,它不会将控件保持在中心。例如查看this post 并按照说明进行操作。 TableLayoutPanel 应该停靠以填写表格,并且应该只包含一个单元格。应使用其 Anchor 设置为 None 的自动大小增长和收缩 FlowLayoutPanel 来托管按钮。将流布局放在单格表格布局面板中。
猜你喜欢
  • 2013-08-07
  • 1970-01-01
  • 2012-02-11
  • 2020-05-03
  • 2023-03-06
  • 2014-12-12
  • 2013-08-05
  • 2017-03-17
  • 2017-06-03
相关资源
最近更新 更多