在列表框中粘贴文本使其看起来像是 1 项,即使它不是

Pasting text in a listbox makes it look like it's 1 item, even though it isn't

我在使用剪贴板和列表框时遇到了问题。这是我从剪贴板转移到列表框的代码:

string s = Clipboard.GetText();
string[] lines = s.Split('\n');
foreach (string ln in lines)
{
    listBox1.Items.Add(ln.Trim());
}

这很好用并且可以完成工作。但问题是,如果我不真正从 Excel 或 Word 或任何其他文本编辑器复制文本(我从另一个应用程序复制它,该应用程序按行显示文本),它不会显示所有单独一行的项目。如果我将文本复制回去,它会正确显示新行。这真的让我很烦恼,所以我的问题是:你能提出一些其他方法来将文本粘贴到列表框中吗?

新行并不总是表示为“\n”。为了克服这个问题,使用这个:

.Split(new string[] { "\n", "\r\n" }, StringSplitOptions.None)