【问题标题】:Resizing panel in winforms when splitter moves拆分器移动时在winforms中调整面板大小
【发布时间】:2013-09-25 06:21:41
【问题描述】:

我在名为panelbase的面板内有一个三面板

我试试

面板leftdock 是left

面板rightdock 是right

面板buttonfill

但按钮位置不在中心。

这里是捕获

如何调整面板left和面板right的大小,当我拖动分割器时,面板按钮位置总是在中心?

【问题讨论】:

  • 您的屏幕截图显示您的按钮看起来像居中?
  • @KingKing 等一下,我更新问题
  • @KingKing 我更新了问题
  • 为什么不使用表格布局并将中心列设置为绝对值(即按钮的宽度),并将左右值设置为 100%?

标签: c# winforms panel


【解决方案1】:

您可以将Anchor 属性用于您的buttons。首先,让它居中,然后这样做:

button1.Anchor = AnchorStyles.None;

要使用代码使按钮居中,您可以执行以下操作:

button1.Left = (buttonPanel.Width - button1.Width)/2;

【讨论】:

  • @Alexbelek 就在Form Load 中,您可以在设计时将Buttons 居中,并且不需要任何代码将它们居中。如果您通过代码添加它们,则可以通过代码将它们居中(正如我所指出的)。您需要的唯一代码是button.Anchor = ...,您可以在按钮居中后添加该代码。 (仅 1 次)
  • @Alexbelek 很难告诉你如何让它工作,我刚刚在这里为你做了一个演示mediafire.com/download/sul67je9c1a9832/…
  • @Alexbelek 我做的项目就在VS 2008,会有Conversion dialog出现要求你转换成VS 2010 project。你只需要点击Finish
  • 我使用分离器。你使用 spitcontainer,我仍然关注你 stackoverflow.com/questions/18862440/splitter-with-panel-scroll 。我遵循你的代码和项目,仍然一样。
  • @Alexbelek 几乎是一样的。这是使用Splitter 而不是mediafire.com/?iv16exw37hklccm 的更新演示您可以在设计时在“属性”窗口中设置锚点或使用我发布的代码(当然按钮应在设计时首先居中或使用代码
猜你喜欢
  • 2011-08-14
  • 2016-11-08
  • 1970-01-01
  • 1970-01-01
  • 2011-12-10
  • 1970-01-01
  • 1970-01-01
  • 2011-06-25
  • 1970-01-01
相关资源
最近更新 更多