以下是程序化插入之前的面板:
之后:
我已经在Review标签样式中添加了其他行复制,希望它是填充或边距问题。不幸的是,情况似乎并非如此。为了澄清,FlowLayoutPanel本身向右延伸超出了新标签应该需要的距离,如下所示:
所有其他Label
已启用AutoSize
。
以下是生成和插入的代码:
Label newLabel = new Label();
newLabel.Name = optionString;
newLabel.Text = type;
newLabel.Font = ReviewLabel.Font; // just a random label. only thing that matters is consistent styling.
newLabel.ForeColor = ReviewLabel.ForeColor;
newLabel.Margin = ReviewLabel.Margin;
newLabel.Padding = ReviewLabel.Padding;
LabelsPanel.Controls.Add(typeLabel);
optionString
为type
,其中删除了空格。 type
的价值是'服务条款。'谢谢你的帮助。
编辑:这里说明了如果我在设计时定义Label
,只需将Label
从控制面板拖到表单上并设置{{1} }和Size
属性。
答案 0 :(得分:3)
请参阅Label.AutoSize()上的说明:
使用设计器添加到表单时,默认值为true。 从代码实例化时,默认值为false。
所以你可能需要添加:
newLabel.AutoSize = true;
答案 1 :(得分:1)
默认情况下,AutoSize
控件上的Label
默认设置为true
。设置解决了这个问题。虽然与布尔值默认值的行为方式一致,但它与您在与设计器交互时看到的默认行为不同。那就是脱节。