2017-08-08 313 views
0

我有一個帶有多行文本框和按鈕的Windows窗體。當按下按鈕時,程序連接到我的ssh服務器並將文本文件(位於服務器上)的內容打印到文本框中。 問題在於文本框將文件的所有內容都顯示在一行中。 因爲我使用了Linux cat命令從服務器獲取該文件的內容我不能使用來自ssh遠程文本文件的多行文本框

textbox.Text = "Line1" + Environment.NewLine; 

。誰能幫我??

這裏是我的代碼:在DOS/Windows機器上創建

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(); 
     } 
    } 
+0

您是否設置了'Multiline'? https://msdn.microsoft.com/en-us/library/12w624ff(v=vs.110).aspx – Aybe

+0

是的,該文本框設置爲多行,但現在我用了一個富文本框,而且它的工作原理! – Delta

回答

0

文本文件比在Unix/Linux中創建的文件不同的行尾。 DOS使用回車符和換行符(「\ r \ n」)作爲行尾,而Unix只使用換行符(「\ n」)。因此,如果您使用文本框,則應將「\ n」轉換爲「\ r \ n」。