我尝试将颜色存储到一个变量中,稍后我可以使用该变量而无需两次提供 RGB 信息:
代码:
public partial class Form1 : Form
{
public Color Color1 = new Color();
public Color Color2 = new Color();
public Form1 ()
{
InitializeComponent();
Color1 = Color.White;
Color2 = Color.FromArgb(255, 112, 114);
}
private void LoadSomething()
{
//not working - but dont know why
TreeNode TreeNode1 = new TreeNode();
TreeNode1.ForeColor = Color1;
TreeNode1.BackColor = Color2;
//working
TreeNode TreeNode1 = new TreeNode();
TreeNode1.ForeColor = Color.White;
TreeNode1.BackColor = Color.FromArgb(255, 112, 114);
}
}
有人能告诉我为什么它不能以第一种方式工作吗?谢谢
原因可能如下:
您在调用构造函数之前调用您的方法Form1
。这样,颜色对象被实例化,但在构造函数中,您传递指定了实际颜色的对象。因此,在调用构造函数之前,您有“空白”颜色,在调用构造函数之后,您有白色和另一种颜色。
因此,如果您在调用LoadSomething
构造函数之前调用,则第一种方法将不起作用。第二个,直接指定颜色,所以它总是有效的。
但可以肯定的是,您应该在调用LoadSomething
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句