我使用以下方法在单击按钮时创建一组动态小部件,并在标签中显示数组的内容!
public void addLabel()
{
for (int i = 0; i < array.Length; i++)
{
Label lbl = new Label();
lbl.Text = array[i]+"\n";
lbl.AutoSize = true;
flowLayoutPanel1.Controls.Add(lbl);
}
}
我面临的问题是一些标签显示在同一行,但我希望每一行只显示一个标签!如何修改我的代码?
最佳答案
你应该使用 flowLayoutPanel1.SetFlowBreak(lbl, true);
像这样:
for (int i = 0; i < array.Length; i++)
{
Label lbl = new Label();
lbl.Text += array[i] + "\n";
lbl.AutoSize = true;
flowLayoutPanel1.Controls.Add(lbl);
flowLayoutPanel1.SetFlowBreak(lbl, true);
}
但是目前您正在循环的每次迭代中创建 label
。如果您只需要一个带有换行符的标签,您可以像下面这样更改您的代码:
Label lbl = new Label();
for (int i = 0; i < array.Length; i++)
{
lbl.Text += array[i] + "\n";
}
lbl.AutoSize = true;
flowLayoutPanel1.Controls.Add(lbl);
关于c# - 在单独的行上动态创建标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46190210/