2007/11/25(Sun) 20:11:19 編集(投稿者)
■No10763 (taku さん) に返信
> textBox1の変更後の文字列 + "\n"が追加されるようになっています。
RichTextBox なのか TextBox なのか、ハッキリさせておいてください。(^^;
# TextBox の内容を、逐次 RichTextBox とファイルに記録するのか、
# それとも、常に RichTextBox の方からファイルに記録するのかを。
No10759 にも書きましたように、Text プロパティから返されるデータは、
>> System.Windows.Forms.RichTextBox での改行コードは LF です。
となっていますので、どちらの Text プロパティを使うかによって、
改行コードを意識せねばなりません。
以下、実験コード。C#2005/2008 向け。
private void button1_Click(object sender, EventArgs e)
{
System.Converter<string, string> converter = delegate(string text)
{
return BitConverter.ToString(Encoding.ASCII.GetBytes(text));
};
Dictionary<string, string> dic = new Dictionary<string,string>();
dic.Add("CrLf", "\r\n");
dic.Add("Cr", "\r");
dic.Add("Lf", "\n");
foreach (KeyValuePair<string, string> item in dic)
{
listBox1.Items.Add(item.Key + " (" + converter(item.Value) + ")");
textBox1.Text = item.Value;
listBox1.Items.Add(" TextBox => " + converter(textBox1.Text));
richTextBox1.Text = item.Value;
listBox1.Items.Add(" RichTextBox => " + converter(richTextBox1.Text));
}
}
上記の実行結果は、下記のようになります。
CrLf (0D-0A)
TextBox => 0D-0A
RichTextBox => 0A
Cr (0D)
TextBox => 0D
RichTextBox => 0A
Lf (0A)
TextBox => 0A
RichTextBox => 0A
■No10760 (επιστημη さん) に返信
> んだけど書き込み側コード(No10757)が
> writer.Write(richTextBox1.Text);
> となってるんで、これはベタなテキストファイルすね。
いえ、taku さんがどう思っていたのかというよりも。
おそらくεπιστημη さん自身は、rtf だと
> マズイでしょうね。
と理解しているだろう、と思ったのですが、実際には
>> File.Open("なにかしら.rtf",
と書かれていたようなので、ちょっと気になっただけです。(^^;