首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AutoSize和Height属性

AutoSize和Height属性
EN

Stack Overflow用户
提问于 2017-12-16 00:36:52
回答 1查看 35关注 0票数 1

我正在尝试使用循环自动填充一些标签。

代码语言:javascript
复制
Point labelLocation = new Point(5, 15);
// e is an enum passed to the function
// box is a GroupBox passed to the function
foreach(var value in Enum.GetValues(e.GetType()))
{
    Label workingLabel = new Label
    {
        AutoSize = true,
        Location = labelLocation,
        BorderStyle = BorderStyle.Fixed3D,
        Text = value.ToString()
    };
    labelLocation = new Point(labelLocation.X, workingLabel.Location.Y + workingLabel.Height);
    box.Controls.Add(workingLabel);
}

无论是否设置了自动调整大小,高度始终返回23。因此,如果我将autosize设置为false,我看到的边框太大,但包装得很好。如果我将它设置为true,我会看到完美的边框,除了它们之间有很大的间隙。

边框似乎与控件的高度不同,我不确定如何调整它以使它们相同。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-16 01:01:02

在将标签添加到容器之前,AutoSize不会发生。因此,尝试将这两行代码从:

代码语言:javascript
复制
labelLocation = new Point(labelLocation.X, workingLabel.Location.Y + workingLabel.Height);
box.Controls.Add(workingLabel);

代码语言:javascript
复制
box.Controls.Add(workingLabel);
labelLocation = new Point(labelLocation.X, workingLabel.Location.Y + workingLabel.Height);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47836457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档