gpt4 book ai didi

c# - 如何在面板 C# 中将按钮设置为最大左侧

转载 作者:太空狗 更新时间:2023-10-30 01:02:31 25 4
gpt4 key购买 nike

我在面板中已经有一个按钮,直到滚动才可见(因为面板的 View 大小小于 buttonA 的 x 坐标)。我想在 buttonA 之外放置一个按钮。怎么做 ?我正在使用它,但它只将按钮放在控件 View 的左侧,而不是内部最大宽度。

我希望它是通用的,如果任何按钮超出最大内部宽度,下一个按钮甚至应该向左移动到该按钮。不能使用停靠点,因为我也想将相同的功能用于顶部放置。

“问题的新编辑”

按钮是在每次点击后生成的,它们的宽度是随机的。按钮可以被删除但是新按钮应该添加到目前占用的最大宽度,如果最近的按钮被删除,下一个按钮应该出现在第二个最左边的按钮之后

button1.Left = buttonA.Parent.Size.Width+button1.Width;

enter image description here

最佳答案

如果你想把 button1 放在 buttonA 的右边,那么你可以使用 LeftWidth buttonA 的属性来解决这个问题:

// Places button1 to the right of buttonA by 10 pixels
button1.Left = buttonA.Left + buttonA.Width + 10;

编辑:

为了确保我总是在最后一个按钮的右侧添加内容,我可以只保留对最后使用的位置的引用:

// Remember the last Left used. 
// We first set it to the Left of buttonA plus its Width.
int lastLeft = buttonA.Left + buttonA.Width;

// button1 now gets set to this plus a gap of 10 pixels
button1.Left = lastLeft + 10;
// Remember the last position
lastLeft = button1.Left + button1.Width;

// Set next button
button2.Left = lastLeft + 10;
// Remember...
lastLeft = button2.Left + button2.Width;

您可以通过将其中的一些包装在一个方法中来使其更清晰,但为了清楚起见,我保留了冗长的版本。

关于c# - 如何在面板 C# 中将按钮设置为最大左侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33652416/

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