C# 试图获得一个标签';s文本属性已暴露

C# 试图获得一个标签';s文本属性已暴露,c#,grid,properties,C#,Grid,Properties,我的一个基本表单中有以下代码: using System; using System.Drawing; using Telerik.WinControls.UI; namespace ExciteEngine2.MainApplication.BaseUI { public partial class BaseCreateForm : BaseForm { public BaseCreateForm() { InitializeComponent();

我的一个基本表单中有以下代码:

using System;
using System.Drawing;
using Telerik.WinControls.UI;

namespace ExciteEngine2.MainApplication.BaseUI {

  public partial class BaseCreateForm : BaseForm {

    public BaseCreateForm() {
      InitializeComponent();
      SetupLookAndFeelThings();
      Header = Tag.ToString();
    }

    public void SetupLookAndFeelThings() {
      LabelHeader.Font = new Font(Font.FontFamily, 14.25F, Font.Style, Font.Unit, Font.GdiCharSet);
    }

    protected RadLabel HeaderLabel {
      get {
        return LabelHeader;
      }
      set {
        LabelHeader = value;
      }
    }

    protected String Header {
      get {
        return LabelHeader.Text;
      }
      set {
        LabelHeader.Text = value;
      }
    }

    protected Image HeaderImage { 
      get {
        return LabelHeader.Image;
    } 
      set {
        LabelHeader.Image = value;
    } 
    }

    private void RadButtonCancel_Click(object sender, EventArgs e) {
      Close();
    }

  }
}

因此,我有两个属性可以设置标题和副标题。但是这些属性在继承表单的可视化设计器属性网格中不可见。例如,我真的需要设置基本标签的图像。如何将这些属性放入属性网格?

好的,在谷歌搜索了很多之后,我提出了以下建议:

using System;
using System.ComponentModel;
using System.Drawing;

namespace ExciteEngine2.MainApplication.BaseUI {

  public partial class BaseCreateForm : BaseForm {

    public BaseCreateForm() {
      InitializeComponent();
      SetupLookAndFeelThings();
    }

    public void SetupLookAndFeelThings() {
      LabelHeader.Font = new Font(Font.FontFamily, 12.25F, Font.Style, Font.Unit, Font.GdiCharSet);
    }

    [Category("Appearance"), DisplayName("HeaderText"), DescriptionAttribute("Text of the form's header."), Browsable(true)]
    public String HeaderText {
      get {
        return LabelHeader.Text;
      }
      set {
        LabelHeader.Text = value;
      }
    }

    [Category("Appearance"), DisplayName("HeaderImage"),  DescriptionAttribute("Image of the form's header."), Browsable(true)]
    public Image HeaderImage {
      get {
        return PictureTitle.Image;
      }
      set {
        PictureTitle.Image = value;
      }
    }

    private void RadButtonCancel_Click(object sender, EventArgs e) {
      Close();
    }

  }
}
必须从ComponentModel中添加这些属性