Vb.net 如何使用锚(左、右)/码头(填充)和最大宽度保持中心控制

Vb.net 如何使用锚(左、右)/码头(填充)和最大宽度保持中心控制,vb.net,visual-studio-designer,Vb.net,Visual Studio Designer,假设我们有固定GroupBox的表单。GroupBox有两行停靠的TableLayoutPanel(每行50%高)。每行都有按钮。我希望此按钮在TableLayoutPanel单元格中居中,随窗体展开,但也具有最大宽度 示例表格: 若我使用锚定(左、右)或停靠(填充),然后设置按钮的最大宽度,它们将保留在单元格的左侧。是否有一种方法可以只使用designer实现我想要的功能(当达到最大宽度时,按钮位于中间? 关闭每个按钮的所有定位,使其保持在父容器的中心,而不更改其大小 或 将每个按钮居中,然

假设我们有固定GroupBox的表单。GroupBox有两行停靠的TableLayoutPanel(每行50%高)。每行都有按钮。我希望此按钮在TableLayoutPanel单元格中居中,随窗体展开,但也具有最大宽度

示例表格:

若我使用锚定(左、右)或停靠(填充),然后设置按钮的最大宽度,它们将保留在单元格的左侧。是否有一种方法可以只使用designer实现我想要的功能(当达到最大宽度时,按钮位于中间?

  • 关闭每个按钮的所有定位,使其保持在父容器的中心,而不更改其大小

  • 将每个按钮居中,然后启用其所有定位,使其保持在中心位置,并随父容器一起展开

但是,您无法通过居中来限制按钮大小。您只能通过代码动态地执行此操作。

首先,您不能在tableLayout单元格中手动更改控件的位置。第二,关闭锚是奇怪的事情发生了。在designer中,按钮可以很好地增加/减少宽度,但当您启动应用程序时,按钮仅扩展到编译时的大小,而不是最大大小属性。“但您无法通过居中来实现限制按钮大小。您只能通过代码动态执行。”这就是我要求的,我知道我可以通过代码来实现,但我更喜欢在designer中尽可能多地实现。@rastaqki–是的,我知道你更喜欢通过智能设计来实现。只要可能,我也会这样想。所以基本上我在这里测试了这个行为,并确认在这种情况下这是不可能的。对于不准确,我深表歉意——我只在表单上下文中测试了按钮,我没有意识到在TableLayoutCell中它的行为可能会有所不同。但是,是的,我们尝试了所有可能的设计方法,所以现在我们知道它们毫无用处。