2017-08-08 3 views
0

私は複数行のテキストボックスとボタンを持つWindowsフォームを持っています。ボタンを押すと、プログラムは自分のsshサーバに接続し、テキストファイルの内容をテキストボックスに出力します。 問題は、テキストボックスがファイルのすべての内容を1行に表示することです。 私は、サーバーからファイルの内容を取得するために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"に変換する必要があります。

関連する問題