private void Form1_Load(object sender, EventArgs e)
{
Label label5 = new Label();
label5.Text = null; //如果把Text换成"label1",前后就相等了
label5.Name = "label5";
this.Controls.Add(label5);
}
private void button1_Click(object sender, EventArgs e)
{
Label a = new Label();
a = this.Controls["label5"] as Label;
if(a.Text ==null) //换成"label1"
a.BackColor = Color.Red;
}上述代码,我在Load事件中生成了一个标签控件,并在button1的Click事件中使用这个标签
如果标签的text属性不为null,label5.Text = a.Text;如果标签的text属性设置为null,为什么二者就不相等了,我认为
a.Text还是应该为null啊,
请大师指教....谢谢
{
Label label5 = new Label();
label5.Text = null; //如果把Text换成"label1",前后就相等了
label5.Name = "label5";
this.Controls.Add(label5);
}
private void button1_Click(object sender, EventArgs e)
{
Label a = new Label();
a = this.Controls["label5"] as Label;
if(a.Text ==null) //换成"label1"
a.BackColor = Color.Red;
}上述代码,我在Load事件中生成了一个标签控件,并在button1的Click事件中使用这个标签
如果标签的text属性不为null,label5.Text = a.Text;如果标签的text属性设置为null,为什么二者就不相等了,我认为
a.Text还是应该为null啊,
请大师指教....谢谢
null毕竟是个特殊的东西
{
...
}
另外 Label是对象引用 既然a = this.Controls["label5"] as Label; 前面不应该去new
而且这个代码怪怪的label5的创建应该在外面 怎么在Load里
这样后面a = label5;就可以了 就不用反复转换了
一般用的时候 都不给null