我在谷歌上搜索了一个多小时 我有一个文本框,我正在做类似的事情:
void ButtonDoSmthClick(object sender, EventArgs e)
{
if(checktextbox()==true)
{
//everything is ok, do some other stuff
}
else
{
//I don't like what is in myTextBox so I show it to User
myTextBox.BackColor = Color.Tomato;
labelFormyTextBox.text = "Error";
}
}
void myTextBoxEnter(object sender, EventArgs e)
{
//when user enter into textbox to fix error, change the color back to normal
myTextBox.BackColor = Color.White;
}
现在有一些魔力。当我在我的代码中执行某处时:
void ButtonDisableClick(object sender, EventArgs e)
{
myTextBox.Enabled = false;
myOtherTextBox.Enabeld = false;
}
在禁用的myTextBox中,BackColor不会像myOtherTextBox那样改变,我没有使用BackColor属性,myTextBox只是灰显文本(更改ForeColor),BackColor保持白色......
现在我的问题。这是正常的吗? (我使用sharpdevelop)
有没有其他方法可以解决这个问题,而不是在事件EnabledChanged中手动设置BackColor?