簡體   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