我的问题是:当我的应用程序打开时,我会禁用所有按钮(在form_Load中),并且它们的颜色会更改为背景颜色。但后来我做了一些动作(比如点击按钮),在这个动作中我再次禁用按钮。
现在其中一些按钮变为灰色,其他按钮变为背景。
这是为什么?我不想要灰色效果。通常当我在应用程序开始时禁用按钮时,它会变成我期望的颜色,但是当我再次尝试禁用它时,会出现这种奇怪的行为。怎么办?
我的代码就像:
private void _btnDownload2PC_Click(object sender, EventArgs e)
{
// do action
_btnDownloadToPC.Enabled=false; // its color became gray
_btnDownloadToPhone.Enabled=false; // its color became like the
// background color and it can't
// be pressed
}
我发现问题出在我使用button_MouseLeave()
或button_MouseMove()
函数时。例如:
private void _btnOneToCort_MouseLeave(object sender, EventArgs e)
{
this._btnOneToCart.Image=global::MyProject.Properties.Resources.button3over;
}
但这没有意义。为什么这个功能会改变我的按钮设置(我不知道这些是什么)当我使用这些功能时会出现这种奇怪的行为,但是当我不这样做时,一切都正常了?
答案 0 :(得分:0)
为什么不禁用设计师中的按钮?如果不可接受,请在表单构造函数中执行,而不是Form_Load。
另外,如果它被禁用,你怎么能点击按钮?
表单颜色设置是否默认?你有没有改变Windows主题颜色偏好?
答案 1 :(得分:0)
您可以以编程方式访问按钮的颜色。设置断点并执行此操作以查看它们是否确实在发生变化。
我的猜测:您设置的图像的灰色背景与标准禁用的颜色不同。您需要编辑图像并删除背景。