2017-09-07 6 views
0

私はwinforms C#アプリケーションを開発中で、アプリケーション全体でフォームの背景とテキストの色を変更するオプションをユーザーに与えたいと考えています。ユーザー設定でアプリケーションの色やテーマを変更する

アプリケーションは、私は考え

一つの方法は、色のRGB値としてユーザ嗜好を記憶することで、フォームはそれを設定している等のパネル、ラベル、テキストボックスが含まれている場合、すべての様々なコントロールのフォーム負荷。しかし、このやり方はやや労力がかかるようです。

これを達成するためのより簡単で効果的な方法はありますか?

+0

アプリケーション設定では、簡単に色のオブジェクトを保存することができます – logix

+0

これは簡単なビットです....私が把握しようとしているのは、アプリケーション(フォーム、ユーザーコントロールなど)のコントロールに適用する方法です。 –

+0

各コントロールの '.Controls'コレクションを再帰的に歩く関数を書くと、' Control'型を読み込む 'Load'の関数に各フォームにあるすべてのものを渡すことができます。設定。動的に作成されたコントロールの場合、同じことをする 'var textBox = ControlFactory.Create (); 'のようなファクトリを持つことができます。その工場は完全にカスタムをしたい場合には、[Decorated](http://www.dofactory.com/net/decorator-design-pattern)バージョンを返すことさえできます。 –

答えて

0

私の意見では、これを行うより簡単な方法は、ユーザーデータをファイルに保存していつでも呼び出すwinformの設定ファイルを使用することです。このリンクをたどってこれを実装することができますdemo

テーマを扱うクラスを1つ作成するだけで済みます。あなたはそれを自動化することができます。

関連する問題