我关于在循环中动态创建标签的代码不起作用,只出现一个

My code about creating label dynamically in a loop don't work, only one appear

我正在创建一个应用程序,其中对于 txt 文件中的每个字符(其中写入了一些文本),创建了一个包含来自 txt 的一个字符字母的标签,并且书面。 txt文件中写了"Hello",只有H出现

这是我的实际代码:

string test = System.IO.File.ReadAllText(@"../../../../../Texte/Test.txt");
int x = 20;
int y = 20;
int i = 10;

foreach (char ch in test) {
    Label newlabel = new Label();
    newlabel.Location = new System.Drawing.Point(x + i, y);
    newlabel.Text = ch.ToString();
    panel1.Controls.Add(newlabel);
    i += 15;
}

您应该将标签的 AutoSize 属性 设置为 TRUE。如果不设置此 属性,第一个标签将覆盖其余部分,因此您只能看到第一个。尝试以下操作:

foreach (char ch in test) {
    Label newlabel = new Label();
    newlabel.Location = new System.Drawing.Point(x + i, y);
    newlabel.Text = ch.ToString();
    newlabel.AutoSize = true; 
    panel1.Controls.Add(newlabel);
    i += 15;
}