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

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

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

Richtextboxの背景色変更の保存

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

■94823 / inTopicNo.1)  Richtextboxの背景色変更の保存
  
□投稿者/ Visual C#初心者 (1回)-(2020/05/22(Fri) 01:31:51)

分類:[C#] 

簡単なメモ帳アプリを作っています。

Richtextboxでのテキスト保存はsavefileメソッドで
出来ているのですが、
背景の色をデフォルトから変更した際の保存方法が
分かりません。
ご教示頂ければ幸いです。
引用返信 編集キー/
■94824 / inTopicNo.2)  Re[1]: Richtextboxの背景色変更の保存
□投稿者/ Hongliang (1032回)-(2020/05/22(Fri) 01:43:39)
Windows Formsアプリケーションですか?

その背景の色というのは、どうやって設定したものでしょうか?
WinFormだと、ぱっと出てくるのはBackColorかSelectionBackColorですが。
引用返信 編集キー/
■94825 / inTopicNo.3)  Re[2]: Richtextboxの背景色変更の保存
□投稿者/ Visual C# (1回)-(2020/05/22(Fri) 01:51:25)
No94824 (Hongliang さん) に返信
> Windows Formsアプリケーションですか?
>
> その背景の色というのは、どうやって設定したものでしょうか?
> WinFormだと、ぱっと出てくるのはBackColorかSelectionBackColorですが。

おっしゃる通りWinFormです。
設定方法はRichtextboxをダブルクリックし、
colordialogを表示させ任意の色をBackcolor= colordialogの色
という感じです。

やりたい事はこの状態を保存して、読み込み時にテキストだけじゃなく
変更した背景色も読み込みたいということです。

引用返信 編集キー/
■94829 / inTopicNo.4)  Re[3]: Richtextboxの背景色変更の保存
□投稿者/ KOZ (119回)-(2020/05/22(Fri) 09:47:59)
No94825 (Visual C# さん) に返信
> やりたい事はこの状態を保存して、読み込み時にテキストだけじゃなく
> 変更した背景色も読み込みたいということです。

Color 構造体の
・ToArgb/FromArgb

ColorTranslator クラスの

・ToHtml/FromHtml
・ToOle/FromOle
・ToWin32/FromWin32

等を使って、BackColor プロパティの値を文字や数値にしてしまえば、保存や読み込みが出来ます。

あとはどういった形で外部に保存するか、仕様を決めればいいわけです。

ひとつのファイルに保存する形にするなら、SaveFile を使わず RichTextBox の RTF プロパティを使うといいと思います。

引用返信 編集キー/
■94846 / inTopicNo.5)  Re[4]: Richtextboxの背景色変更の保存
□投稿者/ Visual C#初心者 (3回)-(2020/05/25(Mon) 00:20:16)
No94829 (KOZ さん) に返信
> ■No94825 (Visual C# さん) に返信
>>やりたい事はこの状態を保存して、読み込み時にテキストだけじゃなく
>>変更した背景色も読み込みたいということです。
>
> Color 構造体の
> ・ToArgb/FromArgb
>
> ColorTranslator クラスの
>
> ・ToHtml/FromHtml
> ・ToOle/FromOle
> ・ToWin32/FromWin32
>
> 等を使って、BackColor プロパティの値を文字や数値にしてしまえば、保存や読み込みが出来ます。
>
> あとはどういった形で外部に保存するか、仕様を決めればいいわけです。
>
> ひとつのファイルに保存する形にするなら、SaveFile を使わず RichTextBox の RTF プロパティを使うといいと思います。
>


有難うございます。返信遅れてすみません。
なんとなく分かりましたが、RTFプロパティでの保存方法が
いまいちよく分かりません。Savefileメソッドでrtf形式で保存
するのとは異なるという事でしょうか?

調べてみたのですが、理解出来てないので
ご教示のほどお願い致します。
引用返信 編集キー/
■94847 / inTopicNo.6)  Re[5]: Richtextboxの背景色変更の保存
□投稿者/ 魔界の仮面弁士 (2726回)-(2020/05/25(Mon) 01:02:57)
No94846 (Visual C#初心者 さん) に返信
> なんとなく分かりましたが、RTFプロパティでの保存方法が
> いまいちよく分かりません。Savefileメソッドでrtf形式で保存
> するのとは異なるという事でしょうか?

「文書データ」としての文字背景色などであれば、
SelectionBackColor プロパティで保持するようにすれば、SaveFile メソッドだけで事足ります。

しかし、BackColor は Location や Size などと同様、
「コントロール」の情報であって、文書データごとの情報ではないため、
SaveFile した内容にはそのままでは含まれないでしょう。

そのため、文書データそのものは RTF プロパティで取り出し、
それを BackColor の情報とともに自己管理する…という手間が発生します。

同じデータファイルに両方を埋め込むのか、別々のファイルで管理するかは
ご自身の都合の用意方法で決めてください。


あるいは…文書ファイルごとに BackColor を保持しようとするのではなく、アプリ全体として
「次回起動時には、前回設定しておいた背景時を自動的に読み込ませたい」程度で構わなければ、
ApplicationSettings を使うようにすれば、ほぼコーディング無しで、
BackColor の色情報を保存しておくことができます。
https://dobon.net/vb/dotnet/programing/mysettings.html
引用返信 編集キー/
■94850 / inTopicNo.7)  Re[6]: Richtextboxの背景色変更の保存
□投稿者/ Visual C#初心者 (5回)-(2020/05/25(Mon) 23:33:21)
No94847 (魔界の仮面弁士 さん) に返信
> ■No94846 (Visual C#初心者 さん) に返信
>>なんとなく分かりましたが、RTFプロパティでの保存方法が
>>いまいちよく分かりません。Savefileメソッドでrtf形式で保存
>>するのとは異なるという事でしょうか?
>
> 「文書データ」としての文字背景色などであれば、
> SelectionBackColor プロパティで保持するようにすれば、SaveFile メソッドだけで事足ります。
>
> しかし、BackColor は Location や Size などと同様、
> 「コントロール」の情報であって、文書データごとの情報ではないため、
> SaveFile した内容にはそのままでは含まれないでしょう。
>
> そのため、文書データそのものは RTF プロパティで取り出し、
> それを BackColor の情報とともに自己管理する…という手間が発生します。
>
> 同じデータファイルに両方を埋め込むのか、別々のファイルで管理するかは
> ご自身の都合の用意方法で決めてください。
>
>
> あるいは…文書ファイルごとに BackColor を保持しようとするのではなく、アプリ全体として
> 「次回起動時には、前回設定しておいた背景時を自動的に読み込ませたい」程度で構わなければ、
> ApplicationSettings を使うようにすれば、ほぼコーディング無しで、
> BackColor の色情報を保存しておくことができます。
> https://dobon.net/vb/dotnet/programing/mysettings.html

ご丁寧にありがとうございます!
自分で考えていろいろ試してみたいと思います.
これにてクローズさせていただきます.
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


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

このトピックに書きこむ