ファイルでは、編集コントロールで認識されない別のline-break styleが使用されています。
Windowsスタイル(CR LF)、Unixスタイル(LF)、および従来のMacスタイル(CR)の3種類の改行スタイルがあります。
TextBoxコントロールのようなWindowsコントロールには、当然WindowsスタイルCR LFが必要です。 C#の対応するエスケープ文字は\r\n
です。 VBでは、ControlChars.CrLf
またはvbCrLf
を使用します。 Unixでは、LF(\n
、またはControlChars.Lf
/vbLf
)がより一般的です。インターネットなどの外部ソースからファイルを取得している場合は、Unixスタイルの改行が使用されている可能性があります。改行は、Windows TextBoxコントロールによって改行として認識されません。あなたが「高度なテキストエディタ」と呼んでいるのは、すべてこれらの異なるスタイルの改行文字をサポートしているからです。
これは修正するのが非常に簡単です。 TextBoxに表示する前に、LFをCR + LFに置き換えて文字列を置換します。
' Download the file
Dim path As String = Application.StartupPath & "\file.txt"
Using client As New WebClient()
client.DownloadFile("http://www.mystie.com/filedata.txt", path))
End Using
' Read the file's text in as a string
Dim filedata As String = File.ReadAllText(path)
' Fix up the line endings
filedata = filedata.Replace(ControlChars.Lf, ControlChars.CrLf)
' Display the text in your TextBox
myTextBox.Text = filedata
私は本来の形式であるとは思っていますが、その形式では改行として '\ n'を使用しています。 UnixとWindowsの改行の両方を処理できるSublime Textのようなエディタでファイルを開いてみてください。 –
ありがとう!試してみます。 – Netero
ダウンロードしたファイルを投稿できますか? –