c# - 在单独的行上动态创建标签

标签 c# winforms newline label

我使用以下方法在单击按钮时创建一组动态小部件,并在标签中显示数组的内容!

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/

相关文章:

c# - 如何以编程方式填充 Sitecore 项目(添加项目和字段)?

c# - WPF C#设计题中绘制图表

c# - 在 datagridview winforms 中隐藏行的快速方法

python - 如何使用 Python 将换行符写入 csv 作为 '\n' ?

javascript - 在javascript中,通过输入指定的换行符不会在警报中创建换行符

c++ - 如何使用 Visual Studio 6 C++ 检测字符串中的换行符

c# - 数据库独立行级安全解决方案

c# - 如何在C#中实现真正的函数管道?

c# - 如何按比例调整表格大小? C#

.net - 支持视觉风格的控制按钮背景颜色