禁用后文本框的BackColor错误

时间:2014-03-19 20:38:38

标签: c# winforms .net-4.0 colors textbox

我在谷歌上搜索了一个多小时 我有一个文本框,我正在做类似的事情:

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?

0 个答案:

没有答案