private string text;
        [Browsable(true)]
        public override string Text
        {
            get { return text; }
            set { text = value; }
        }        private void lab_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.DrawString(this.Text, this.Font, p.Brush, 0, 0);
        }
为什么每次重新生成以后控件的Text属性都清空了?

解决方案 »

  1.   

    构造函数中添加
    this.text = "初始的名字";
      

  2.   

    我想在属性窗口那里设置呢?
     要不设置这里不是一点用处都没有了 [Browsable(true)] 
      

  3.   


            private string text; 
            [Browsable(true)] 
            public override string Text 
            { 
                get { return text; } 
                set { 
                      text = value;
                      lab.Paint += lab_Paint;  //给属性赋值时 触发事件
                    } 
            }         private void lab_Paint(object sender, PaintEventArgs e) 
            { 
                e.Graphics.DrawString(this.Text, this.Font, p.Brush, 0, 0); 
            } 
      

  4.   

    lab.Paint += lab_Paint;  //给属性赋值时 触发事件问题不在那里,写事件在那里有什么用,
    生成项目后Text值都是空的在窗体代码生成器里找不到相关的Text属性值
      

  5.   

    楼主你的问题应该是这样的吧你把你的用户控件UserControl 拖到一个窗体上 然后给在属性框中给Text属性 [赋值]赋值后 你在重新生成你的代码 然后再回来看UserControl 的属性Text 的值  ......Text值被清空了
    是吧??????试了一下重写的属性好像会那样.......但是自己自定义的属性不会那样      private string text;
          public  string DisText
          {
            get
            {
              return text;
            }
            set
            {
              text= value;
            }
          }