我关于在循环中动态创建标签的代码不起作用,只出现一个
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;
}
我正在创建一个应用程序,其中对于 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;
}