我有一个带有多行文本框和一个按钮的 Windows 窗体。按下按钮时,程序连接到我的 ssh 服务器并将文本文件(位于服务器上)的内容打印到文本框中。 问题是文本框将文件的所有内容显示在一行中。 我不能使用
textbox.Text = "Line1" + Environment.NewLine;
因为我正在使用 Linux cat
命令从服务器获取文件的内容。谁能帮帮我??
这是我的代码:
private void Form_Load(object sender, EventArgs e)
{
using (var client = new SshClient(host, port, user, pass))
{
//Start the connection
client.Connect();
var getmessage = client.RunCommand("cat messages/file.txt");
textbox.Text = getmessage.Result;
client.Disconnect();
}
}
最佳答案
在 DOS/Windows 机器上创建的文本文件与在 Unix/Linux 上创建的文件具有不同的行尾。 DOS 使用回车符和换行符(“\r\n”)作为行尾,而 Unix 仅使用换行符(“\n”)。因此,如果您使用文本框,“\n”应转换为“\r\n”。
关于c# - 来自 ssh 远程文本文件的多行文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45579335/