C# 将列表加载到文本框 WinForms

标签 c# list textbox

当我尝试将列表显示到文本框中时遇到问题。它只显示 list.txt 文件的最后一行。我认为对于每一行,它总是覆盖文本框的第一行?因此只显示文件的最后一行?

我需要考虑什么才能做到正确?

private void Form1_Load(object sender, EventArgs e)
        {

            const string f = "list.txt";

            List<string> myList = new List<string>();

            using (StreamReader r = new StreamReader(f))
            {
                string line;
                while ((line = r.ReadLine()) != null)
                {
                    myList.Add(line);
                }
            }


            foreach (string s in myList)
            {

                textBox1.Text = string.Join(Environment.NewLine, s);

            }


        }

最佳答案

取而代之的是:

foreach (string s in myList) { textBox1.Text = string.Join(Environment.NewLine, s); }

尝试:

textBox1.Text = string.Join(Environment.NewLine, myList);

还要确保 textbox1 的 multiline 属性设置为 true。

关于C# 将列表加载到文本框 WinForms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14859343/

相关文章:

python - 交替合并两个列表的n个元素

python - 来自两个列表的随机元素 - Python

c# - 私有(private)成员实例化/初始化的最佳实践是什么?

Python list() vs 列表理解构建速度

powershell - Powershell GUI导入的文本文件缺少换行符/回车符

mysql - 使用 Visual Basic 在文本框中显示来自 MySql 的自动编号

c# - 写入单独表单上的文本框 (C#)

c# - .NET SortedDictionary 但按值排序

c# - 报告查看器 - 在同一页上换行表

c# - 使用 LINQ 将对象集合转换为字典