准备写一个控件,它由两部分组成,一个是Label,一个TextBox.部分代码如下:public partial class EeLabeledEdit : UserControl
{
    public EeLabeledEdit()
    {
         InitializeComponent();
         mLblname = this.lblName; //设计面板上的Label名称
            
    }    private Label mLblname = null;    [TypeConverter(typeof(ExpandableObjectConverter))]
        [Description("设置名称标签")]
        public Label Lblname
        {
            get
            {
                mLblname = this.lblName;
                return this.lblName;
            }
        }}把该控件加载到一个项目中测试,发现在设计时能够显示的一个属性,在运行使不能显示。例如我修改Label的Text属性,在设计界面中可以正常显示出来,但是运行后确不显示,取值为空
去网上查找后,做了以下修改。增加了set,并在其中添加了以下语句set
{
        this.GetType().GetProperty("Lblname").SetValue(this.lblName,value,null);
        this.Invalidate();
}发现问题依旧,请大家指教,谢谢!是不是非要自己定义一个类,然后再去继承Label才能解决?

解决方案 »

  1.   

    set
    {
            this.lblName.Text = value;
    }
      

  2.   

    楼上的意思是这样吧:
    set
    {
       this.lblName.Text = value.Text;}
    这个我已试过,不行。多谢  
      

  3.   

    自己顶下,其实可以一个属性一个属性的单独写(如下),但是我想要用到好多属性,基本上覆盖Label全部属性了,单独的话实在麻烦,各位有好的办法吗?多谢public string LblnameText
    {
        get
        {
              return this.lblName.Text;
        }
        set
        {
              this.lblName.Text = value;
                  
        }
    }