1

私は個人用のプロジェクト(単純な電話帳)に取り組んでいます。少しカスタマイズするオプションがあります(フォームのアイコン、ボタンの画像、ピクチャボックスの画像などを変更します)。これは次のように機能します。

アプリが起動すると、選択されているテーマがチェックされます。

private void Main_Load(object sender, EventArgs e)
    {
        Settings f2 = new Settings();
        ThemeCheck();
    }

...ここで、ThemeCheck() は次のとおりです。

void ThemeCheck()
    {
        if (Properties.Settings.Default.Theme == "Purple")
        {
            foreach (var form in Application.OpenForms.Cast<Form>())
            {
                form.Icon = Properties.Resources.Purple;
            }
            Main f1 = (Main)Application.OpenForms["Main"];
            Settings f2 = (Settings)Application.OpenForms["Settings"];
            f1.btn_Exit.Image = Properties.Resources.EXIT_purple;
        }
        if (Properties.Settings.Default.Theme == "Blue")
        {
            foreach (var form in Application.OpenForms.Cast<Form>())
            {
                form.Icon = Properties.Resources.Blue;
            }
            Main f1 = (Main)Application.OpenForms["Main"];
            Settings f2 = (Settings)Application.OpenForms["Settings"];
            f1.btn_Exit.Image = Properties.Resources.EXIT_blue;
        }
    }

...など、各色 (10 種類の異なる色があります) について、ここにコード全体をコピーするには長すぎます。

それにもかかわらず、テーマを正常に変更することができましたが、アプリケーションを再起動すると、ランダムなテーマに切り替わります (最初のテーマであるため、常に青色です)。

どうすればこれを処理できますか?アプリを再起動しても選択したテーマが設定されるようにしてほしい。基本的に紫色のテーマを選択した場合は、再起動後も紫色のままにしたいと考えています。

誰かがそれを見たい場合は、ここにコード全体を2つのtxtファイルに分けてアップロードしました(両方のフォーム-メインのフォーム(Form1)と設定が構成されているフォーム(Form2))。

Form1 : http://www.sendspace.com/file/jerayu

Form2 : http://www.sendspace.com/file/p5twne

4

1 に答える 1

0

アプリケーション プロセスの外に永続化する必要があります。これは、アプリケーション設定、リソース ファイル、または何らかの構成ファイル (xml、inf) を使用して行うことができます。

これがあなたを導くことを願っています。

-M

于 2013-11-26T21:19:21.233 に答える