C# C语言中奇怪的标签行为#

C# C语言中奇怪的标签行为#,c#,label,C#,Label,我向表单中添加一个标签,如下所示 l = new Label(); l.Location = new Point(520, 94); l.Size = new Size(95, 20); l.Text = "Pooling interval (s):"; f.Controls.Add(l); 如果标签的文本为“池间隔”:“则表单上显示的文本将仅为“池间隔”,但如果我将文本更改为“池间隔”:“删除第二个空格,则文本将正确打印 发生这种情况的原因是什么?其他控件也没有重叠。只需保留大小如下的行:

我向表单中添加一个标签,如下所示

l = new Label();
l.Location = new Point(520, 94);
l.Size = new Size(95, 20);
l.Text = "Pooling interval (s):";
f.Controls.Add(l);
如果标签的文本为“池间隔”:“则表单上显示的文本将仅为“池间隔”,但如果我将文本更改为“池间隔”:“删除第二个空格,则文本将正确打印


发生这种情况的原因是什么?其他控件也没有重叠。

只需保留大小如下的行:

l = new Label();
l.Location = new Point(520, 94);
//l.Size = new Size(95, 20);
l.Text = "Pooling interval (s):";
f.Controls.Add(l);

文本大于标签大小。因此,您可以使用更大的标签,或将“自动调整大小”属性更改为true。试试下面的代码

l = new Label();
l.Location = new Point(520, 94);
l.Size = new Size(95, 20);
l.AutoSize = true; // fixes the problem
l.Text = "Pooling interval (s):";
Controls.Add(l);

可能95的宽度太小,无法显示最后一部分,整个单词“(s)”被删除。请注意标签尺寸有问题check@Vajura请检查我的答案,我提供了原因以及修复该问题的代码。