Как присвоить переменной значение Properties.Settings.Default

У меня есть два файла Properties, которые хранят цвета.

  1. Properties.GreenTheme
  2. Properties.PurpleTheme

Название параметров в файлах полностью одинаковые. Я хочу реализовать смену темы оформления переключением между этими двумя файлами. Самое простое, в теории, это присваивать переменной значение с уровень видимости на весь класс. Например, var theme = Properties.GreenTheme.Default. А дальше в методах использовать эту переменную. т.к. названия везде одинаковые. Примерный код в каком виде я хочу это сделать:

public partial class FrmMain : Form{

TypeVar theme = null;

public FrmMain()
{
        InitializeComponent();

        if (i = 1)
        {
            theme = Properties.GreenTheme.Default;
        }

        if (i = 2)
        {
            theme = Properties.PurpleTheme.Default;
        }

        SetBottonColor();   
        SetPanelColor();

}

private void SetBottonColor()
{
    btn.BackColor = theme.button_color;
    btn2.BackColor = theme.button_color;
    btn3.BackColor = theme.button_color;
}

private void SetPanelColor()
{
   panel.BackColor = theme.panel_color;
   panel2.BackColor = theme.panel_color;
   btn3.BackColor = theme.button_color;       
}

т.е. чтобы в каждом методе не прописывать if я хочу создать переменную на уровне класса и менять её при загрузке формы. А т.к. названия параметров в файлах одинаковое, то цвета брались бы из нужного файла. Локально я легко могу объявить переменную

var theme = Properties.PurpleTheme.Default;

Но мне нужно именно на уровне класса т.к. таких методов очень много. object как var к сожалению не работает...


Ответы (0 шт):