繁体   English   中英

WinForms自定义控件颜色

[英]WinForms Custom Control Colors

我试图自定义我的WinForms数据库应用程序上的控件。

到目前为止,我只尝试使用以下代码自定义标签和按钮:

namespace MyNamespace
{
  public class CMSLabel : Label
  {
    private Color cmsLabelBackColor = aSystem.LabelBackColor;

    public CMSLabel()
    {
        this.BackColor = cmsLabelBackColor;            
    } 

    [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]

    public new Color BackColor
    {
        get { return cmsLabelBackColor; }
        set { }
    }
  }

  public class CMSButton : Button
  {
    private Color cmsButtonColor = aSystem.ButtonColor;

    public CMSButton()
    {            
        base.BackColor = cmsButtonColor;
    }

    [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]

    public new Color BackColor
    {
        get { return cmsButtonColor; }
        set { }
    }
  }
}

Button控件工作正常,但Label控件根本没有显示BackColor,但我为每种控件类型使用了相同的代码。 谁能发现我做错了什么?

你必须改变“基础”颜色:

public CMSLabel()
{
  base.BackColor = cmsLabelBackColor;            
}

在CMSButton中设置基础 .BackColor,但在CMSLabel中设置 .BackColor,它在setter中没有代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM