Button BackColor不会改变

时间:2015-09-15 12:40:21

标签: c# winforms colors system

我希望在具有默认颜色时更改我的按钮的颜色。我尝试使用下面的代码,但它不起作用。我怎么能这样做?

public void ClickedButton (object sender, EventArgs e)
{
    if ((sender as Button).BackColor == System.Drawing.SystemColors.Control) {
        (sender as Button).BackColor = Color.Turquoise;
    }
}

2 个答案:

答案 0 :(得分:1)

您需要添加调试行以验证按钮的当前颜色

public void ClickedButton (object sender, EventArgs e)
{
    // add debug line here 
    string message = (sender as Button).BackColor.ToString();
    Debug.WriteLine(message);

    if ((sender as Button).BackColor == System.Drawing.SystemColors.Control) {
        (sender as Button).BackColor = Color.Turquoise;
    }
}

这将有助于您对代码进行故障排除。您当前的代码也没有任何问题。以下是结果。

enter image description here

以下是Output Window

的结果

enter image description here

答案 1 :(得分:0)

首先尝试将发件人转换为按钮

Exception in thread "main" com.google.gdata.util.InvalidEntryException: Bad Request
Blank rows cannot be written; use delete instead.

at com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:602)
at com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:564)
at com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:560)
at com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:538)
at com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:536)
at com.google.gdata.client.Service.insert(Service.java:1409)
at com.google.gdata.client.GoogleService.insert(GoogleService.java:613)
at TestGoogle.main(TestGoogle.java:93)

如果这是一个Windows窗体控件,那应该可以。

如果这是一个Web窗体控件,它可能不会(除非您将其作为回发的一部分调用)。