gpt4 book ai didi

c# - Windows 窗体 - 奇怪的自动滚动行为

转载 作者:行者123 更新时间:2023-11-30 17:06:52 25 4
gpt4 key购买 nike

我在 system.windows.forms.panel 的自动滚动方面遇到了问题。我有一个用复选框填充的面板,如果复选框总数的高度要求超过面板的高度,它应该添加一个垂直滚动条。我的问题是它按预期处理垂直滚动条,但它也显示不需要的水平滚动条。我通过将 System.Windows.Forms.SystemInformation.VerticalScrollBarWidth 添加到面板宽度来调整面板的宽度。

int prevMainTop = 0;
int maxWidth = 0;

foreach (List<String> arr in folderArr)
{
if (arr[0].Length * 7 > maxWidth) { maxWidth = arr[0].Length * 7; }
}

foreach (List<String> arr in folderArr)
{
CheckBox cb = new CheckBox();
cb.BackColor = Color.Chocolate;
cb.Checked = true;
cb.AutoSize = false;
cb.Width = maxWidth;
cb.Name = arr[0];
cb.Text = arr[0];
cb.Tag = arr[1];
cb.Top = prevMainTop;
prevMainTop = prevMainTop + 25;
this.mainPanel.Controls.Add(cb);
}

this.mainPanel.Width = maxWidth + System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;

Image showing the unwanted added space to the right of the checkboxes, color added to control background to illustrate the size of the control.

最佳答案

检查面板的 AutoScrollMarginAutoScrollMinSize 属性。 AutoScrollMargin 应为 (0,0),您可能还需要将 AutoScrollMinSize 设置为 maxWidth 值。

关于c# - Windows 窗体 - 奇怪的自动滚动行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15064611/

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