我想创建一个使用函数外部另一个变量的变量,如下所示:
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替换应用程序设置中的自定义颜色。我怎样才能做到这一点?
答案 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