【问题标题】:Centering Windows Forms Controls inside TableLayoutPanel with Visual Studio Designer使用 Visual Studio 设计器将 TableLayoutPanel 中的 Windows 窗体控件居中
【发布时间】:2012-09-26 20:11:30
【问题描述】:

我将控件容器紧密绑定到用户控件的边缘,在所述用户控件的两侧均匀分布(子控件始终位于父控件的中心)。使用设计器,我试图添加这些跨越TableLayoutPanel 中所有列的用户控件。我单击控件容器并单击“布局”工具栏上的“水平居中”按钮。控件不会居中。

为什么?如何轻松居中控制?

我遇到的情况与文档 How to: Align and Stretch a Control in a TableLayoutPanel Control 不一致

问题控制是 5 个按钮,应该在所示的 2 个跨栏之间居中:

按钮与控件边缘紧密绑定:

新图片显示在可疑控件上正确设置为“左、右”的锚点@

新图片显示锚点设置为“无”

【问题讨论】:

  • 链接文章中明确提及。 8 号,锚点 = 无。
  • 和@HansPassant,而#8 #3 应该可以工作.. 他们没有。

标签: c# .net winforms windows-forms-designer


【解决方案1】:

尝试将 Anchor 属性设置为无:

dataMasterControl1.Anchor = AnchorStyles.None;

它应该在包含控件的 TableLayoutPanel 单元格中居中。您可能需要调整 UserControl 本身的大小。

【讨论】:

  • 不幸的是,我在阅读技术参考后尝试这样做,但没有成功。
  • @sammarcow 我用一个 UserControl 测试了这个,两个按钮跨越我的 TableLayoutPanel 中的两列,它居中就好了。就像我提到的,确保调整 UserControl 的大小——它应该比最后一个按钮的右侧宽一点。
  • 我更新了@LarsTech 的帖子。我不知道为什么,但是我添加的附加图片没有出现。你可以从图片中看到我无法得到你描述的结果。我很高兴提供完整的源代码。
  • @sammarcow 您的图像显示您将锚点设置为上、左、右。
  • 我更新了显示锚点设置为左、右的问题的图片。然后,添加另一张图片以显示相同的效果,但 Anchors 设置为 None。
【解决方案2】:

我知道这不是一个完整的答案,但您是否尝试过调整行、列和单元格的大小?如果您可以发布屏幕截图会有所帮助吗?

http://msdn.microsoft.com/en-us/library/system.windows.forms.tablelayoutpanel(v=vs.80).aspx

【讨论】:

  • 添加截图和技术参考。
猜你喜欢
  • 2016-10-30
  • 2012-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多