pet*_*ann 3 c# dialog winforms responsive
我需要一些有关 WinForms 响应式表单的帮助。我在位置 xy 有一个复选框。当我将表单调整为较小的尺寸时,此复选框应移至左侧,更靠近其他元素。
你可以在我制作的图片上看到它。我不知道,我必须在那里更改哪个属性才能实现这一点。要移动的复选框由红色框标记。
当我放大表单时,这个元素必须保持在它的默认位置。当我减少它时,复选框必须向左移动。当我再次放大它时,复选框必须移回其默认位置。
您需要设置Anchor属性:
checkBox1.Anchor = AnchorStyles.Top | AnchorStyles.Right;
Run Code Online (Sandbox Code Playgroud)
这表明控件的右边框与包含控件(您的表单)的右边框的距离应始终相同。
您还可以在设计器窗口中设置此属性。
澄清后更新:
这是一个复杂的情况。我发现的一个解决方案(虽然我不确定它是最好的)可能是使用 aPanel来包含CheckBox.
Panel在最左边的位置上CheckBox可以有Panel使右边框位于最右侧的边框(加上几个像素)CheckBox应MaximumSize的Panel这个确切大小Anchor属性设置Panel为Top | Left | RightCheckBox内部Panel放在右边缘Anchor属性设置CheckBox为Top | Right现在,如果您放大Form,则Panel由于该MaximumSize值而保持其大小。
如果你缩小了Form,Panel也会因为它而缩小AnchorStyle.Right。在CheckBox该向左移动,因为它自己的AnchorStyle.Right。
当你Form再次放大时,它Panel也会增长,但只有它MaximumSize再次达到它。CheckBox右边的动作跟上越来越大Panel。
希望这能满足您的需求。如有必要,我稍后可以添加屏幕截图。