gpt4 book ai didi

C# Windows 窗体 - 调整窗体大小时移动元素

转载 作者:行者123 更新时间:2023-12-01 02:17:06 25 4
gpt4 key购买 nike

我需要一些有关 WinForms 响应式表单的帮助。我在位置 xy 有一个复选框。当我将表单调整为较小尺寸时,此复选框应移至左侧,更靠近其他元素。

你可以在我制作的图片上看到它。我不知道,我必须在那里更改哪个属性才能实现这一点。要移动的复选框用红色框标记。

当我放大表单时,这个元素必须停留在它的默认位置。当我减少它时,复选框必须向左移动。当我再次放大它时,复选框必须移回其默认位置。

this is the default form

the form is smaller now, the checkbox has to move to the left

最佳答案

您需要设置 Anchor属性:

checkBox1.Anchor = AnchorStyles.Top | AnchorStyles.Right;

这表明控件的右边框与包含控件(您的窗体)的右边框的距离应始终相同。

您也可以在设计器窗口中设置此属性。


澄清后更新:

这是一个复杂的情况。我发现的一种解决方案(尽管我不确定它是否最好)可能是使用 Panel 来包含 CheckBox

  • Panel 放在 CheckBox 可能具有的最左侧位置
  • 设置 Panel 的大小,使右边框位于 CheckBox 应具有的最右边框(加上几个像素)
  • PanelMaximumSize 设置为此精确大小
  • PanelAnchor 属性设置为 Top |左|对的
  • CheckBox 放在 Panel 的右边缘
  • CheckBoxAnchor 属性设置为 Top |对的

现在,如果您放大 FormPanel 会因为 MaximumSize 值而保持其大小。

如果缩小 FormPanel 也会因为它的 AnchorStyle.Right 而缩小。 CheckBox 由于其自身的 AnchorStyle.Right 而向左移动。

当您再次放大​​ Form 时,Panel 也会变大,但只会再次达到其 MaximumSizeCheckBox 向右移动以跟上不断增长的 Panel

希望这能如您所愿。如有必要,我稍后可以添加屏幕截图。

关于C# Windows 窗体 - 调整窗体大小时移动元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42200457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com