0
私はwinforms C#アプリケーションを開発中で、アプリケーション全体でフォームの背景とテキストの色を変更するオプションをユーザーに与えたいと考えています。ユーザー設定でアプリケーションの色やテーマを変更する
アプリケーションは、私は考え
一つの方法は、色のRGB値としてユーザ嗜好を記憶することで、フォームはそれを設定している等のパネル、ラベル、テキストボックスが含まれている場合、すべての様々なコントロールのフォーム負荷。しかし、このやり方はやや労力がかかるようです。
これを達成するためのより簡単で効果的な方法はありますか?
アプリケーション設定では、簡単に色のオブジェクトを保存することができます – logix
これは簡単なビットです....私が把握しようとしているのは、アプリケーション(フォーム、ユーザーコントロールなど)のコントロールに適用する方法です。 –
各コントロールの '.Controls'コレクションを再帰的に歩く関数を書くと、' Control'型を読み込む 'Load'の関数に各フォームにあるすべてのものを渡すことができます。設定。動的に作成されたコントロールの場合、同じことをする 'var textBox = ControlFactory.Create(); 'のようなファクトリを持つことができます。その工場は完全にカスタムをしたい場合には、[Decorated](http://www.dofactory.com/net/decorator-design-pattern)バージョンを返すことさえできます。 –