使用函数C#之外的变量

时间:2011-10-24 13:43:18

标签: c# function variables set

我想创建一个使用函数外部另一个变量的变量,如下所示:

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)
{
  ...
}

我想用txtstyle中的Color.Red替换应用程序设置中的自定义颜色。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:4)

我会像这样创建一个私人财产:

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的引用才能生效。

答案 1 :(得分:2)

由于您已在类范围中声明txtstyle,因此可以从属于同一类的函数中访问它。

我建议你阅读C# scoping rules

答案 2 :(得分:1)

您可以通过以下方式访问设置:

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