C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: RichTextBoxの内容がRTFで保存されない。


(過去ログ 45 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■23482 / inTopicNo.1)  RichTextBoxの内容がRTFで保存されない。
  
□投稿者/ タコ (1回)-(2008/08/16(Sat) 10:09:17)

分類:[C#] 

C#2008を使用しています。
DataSetをフォームにドラッグすると、DataGridViewとBindingNavigatorが自動的に作成されますが、RichTextBoxを別に作成して、Binary型のフィールドとバインドしていますが、RichTextBoxで施した文字装飾が行移動する瞬間に解除され、テキストのみが記録されます。たぶんRTF形式で保存されず、Textで保存されているのだと思いますが、その設定方法がどうしてもわかりません。どなたか教えて下さい。
引用返信 編集キー/
■23722 / inTopicNo.2)  Re[1]: RichTextBoxの内容がRTFで保存されない。
□投稿者/ 魔界の仮面弁士 (830回)-(2008/08/20(Wed) 16:49:07)
No23482 (タコ さん) に返信
> RichTextBoxを別に作成して、Binary型のフィールドとバインドしていますが、
RichTextBox の、どのプロパティにバインドされた状態になっていますか?

Text / SelectedText プロパティなら、プレーンテキスト、
Rtf / SelectedRtf プロパティなら、リッテテキストと思います。


> たぶんRTF形式で保存されず、Textで保存されているのだと思いますが、
保存された Binary フィールドの内容が、Text / RTF のどちらになっているか、確認されましたか?

「{\rtf1\ansi\ansicpg932\……」のような文字列になっているなら、RTF です。


> その設定方法がどうしてもわかりません。どなたか教えて下さい。
手元に C#2008 が無いので確認はできませんが、2005 だと、プロパティ画面から、
"(DataBindings)" の項目を開き、その下の "(詳細)" から、どの項目につなげるかを設定できます。

ただし、デザイナ画面からは Rtf プロパティを選択できなかったので、直接、Form1.designer.cs を
 richTextBox1.DataBindings.Add(new Binding("Rtf", データソース, メンバ, true));
のようなコードにする必要がありましたけれども。
引用返信 編集キー/
■23728 / inTopicNo.3)  Re[2]: RichTextBoxの内容がRTFで保存されない。
□投稿者/ タコ (2回)-(2008/08/21(Thu) 01:40:53)
返信ありがとうございます。
>richTextBox1.DataBindings.Add(new Binding("Rtf", データソース, メンバ, true));
への書込みは何度か試みたのでしたが、画面には全く文字が表示されなかったので失敗だと思っていました。
けれども、魔界の仮面弁士さんのスレを追って初めて理解できました。RichTextBoxのノーマルのバインドではTextしかありませんが、上記のRtfを設定することによってバインド形式にRtfが出現しました。そして白紙画面に文字を入力し、それに文字装飾を行うとものの見事保存されていました。
今夜はちょっと別様で十分検証できていませんが、あした検証させていただきます。たぶん成功するように思われます。本当にありがとうございました。ズブの素人で質問すること自体がビクビクで、たいへん苦しい思いをしましたが、感謝感激です。ありがとうございました。
引用返信 編集キー/
■23908 / inTopicNo.4)  Re[3]: RichTextBoxの内容がRTFで保存されない。
□投稿者/ タコ (3回)-(2008/08/23(Sat) 20:20:39)
魔界の仮面弁士さん、ありがとうございました。
richTextBox1.TextをrichTextBox1.Rtfにどうすれば
変換できるのかわからなかったのですが、
べたべたな方法でなんとかできました。
BindingSource bs = new BindingSource();
bs = (BindingSource)dataGridView1.DataSource;
while (bs.Position + 1 < bs.Count)
{
richTextBox1.Text = textBox1.Text;
bindingNavigator1SaveItem_Click(sender, e);
  bs.MoveNext();
}
リッチテキストボックスを使わずに
 Rtf から Textを取り出したり、
Text を Rtf に変換できないのでしょうか。
もしご存知でしたら教えて下さい。
この度は本当にありがとうございました。
引用返信 編集キー/
■23909 / inTopicNo.5)  Re[4]: RichTextBoxの内容がRTFで保存されない。
□投稿者/ タコ (4回)-(2008/08/23(Sat) 20:44:16)
解決済みにするの忘れました。どうも
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -