используя переменную вне функции C # - PullRequest
0 голосов
/ 24 октября 2011

Я хотел бы создать переменную, которая использует другую переменную вне функции, например:

private void tb_TextChanged(object sender, TextChangedEventArgs e)
{
  ...
}

TextStyle txtstyle = new TextStyle(new SolidBrush(Color.Red), null, FontStyle.Regular); // the variable

private void tb_VisibleRangeChangedDelayed(object sender, EventArgs e)
{
  ...
}

Я хочу заменить Color.Red в txtstyle на собственный цвет, который находится в настройках приложения.,Как мне этого добиться?

Ответы [ 3 ]

4 голосов
/ 24 октября 2011

Я хотел бы создать частную собственность, как это:

private TextStyle myTextStyle
    {
        get
        {
            var colorName = "Red";

            if(!string.IsNullOrWhiteSpace(ConfigurationManager.AppSettings["myColor"]))
            {
                colorName = ConfigurationManager.AppSettings["myColor"];
            }

            return new TextStyle(new SolidBrush(Color.FromName(colorName)), null, FontStyle.Regular);
        }
    }

Вы должны добавить ссылку на System.Configuration, чтобы это работало.

2 голосов
/ 24 октября 2011

Поскольку вы объявили txtstyle в области видимости класса, вы можете получить к нему доступ из функций, являющихся частью одного и того же класса.

Я предлагаю вам ознакомиться с C # scoping rules .

1 голос
/ 24 октября 2011

Вы можете получить доступ к настройкам следующим образом:

TextStyle txtstyle = new TextStyle(new SolidBrush(Properties.Settings.Default["Color"]), null, FontStyle.Regular); // the variable 
...