我就说是微软的Bug了!相关帖子
http://community.csdn.net/Expert/topic/5479/5479312.xml?temp=2.441043E-02
我不大会C#,只是简单的写了一个,放在窗体内,设置Text属性后,到Designer.cs去找吧,百分百没有保存下来!或者运行一下,会来窗体重绘后再看,属性依旧丢失!!请发言的同志试验了之后再说!using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;namespace TryAll
{
    public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
        }        private void UserControl1_Load(object sender, EventArgs e)
        {        }
        [Browsable(true)]
        public override string Text
        {
            get
            {
                return base.Text;
            }
            set
            {
                base.Text = value;
            }
        }
    }
    
}

解决方案 »

  1.   

    Text属性是个特例,其他的名字不会有这个问题(也许没有碰到)。
      

  2.   

    现在没有可以试验的机器 偶现在只能在网吧上网
    不过相信 有可能是bug
      

  3.   

    你知道base.Text做了那些操作吗?如果你没有那样的研究精神
    那你还是老老实实的声明一个private string text
      

  4.   

    [EditorBrowsable(1)]
    [Browsable(false)]
    [DesignerSerializationVisibility(0)]
    [Bindable(false)]这是UserControl的Text上的Attribute。
    知道DesignerSerializationVisibility.Visible与DesignerSerializationVisibility.Hidden区别吗?
      

  5.   

    直接说了吧,省得lz又怕麻烦。在你的Text属性前面加上
    [DesignerSerializationVisibility(1)]奇怪都知道要加[Browsable(true)]了为什么不再多看两眼呢?
      

  6.   

    暈~~~~
    public override string Text
            {
                get
                {
                    return base.Text;
                }
                set
                {
                    base.Text = value;
                }
            }
    不是base的Text啊~~~~﹐你的另一個貼中我已經說的很清楚了﹐雖然是Text屬性﹐不過要加new來覆蓋原Text屬性。
      

  7.   

    public override string Text
            {
                get
                {
                    return base.Text;
                }
                set
                {
                    base.Text = value;
                }
            }败服这种代码……
    楼主先打自己一个耳光清醒清醒:1、环境代码没交代清楚,连WebForm还是WinForm都没说清,要不是上面有个System.Windows.Forms谁知道是WebForm还是WinForm。
    2、环境交代不清自然别人都没法重复这个实验,别人好心做了试验,楼主也不去看看别人的试验为什么能成功,反正认为别人都是胡说,就更谈不上深究了
    3、根本就没尝试去理解别人所说的东西,一意孤行,蛊惑人心。明明有正确答案,视而不见,充耳不闻。
    4、看这代码写的,实在不知道这个override到底有什么用,这种代码除了让人费解之外没有任何好处。
      

  8.   

    不可否认,.NET Framework的Bug还有很多,但我想楼主这种学习态度,要发现一个真正的Bug,很难……
      

  9.   

    我试验了——向大家承认错误,打自己耳光,不过相信楼上的真的知道根源所在的人,并不多,包括下边大多数回复的人。没有注意基类Text的设计期问题。分数给danjiewu(阿丹),DesignerSerializationVisibility是我没有接触过的一个枚举类型
    很感谢。再次向大家表示歉意。
    To Ivony:抱歉,我说了,我不懂C#,所以只是简单测试代码。
    问题在于哪里,已经很清楚了,是我打了自己一个耳光。不过我确实不知道DesignerSerializationVisibility这个东东,但是有多少朋友不知道这个东西,又没有去试验,就在这里乱发表言论呢?我这次不敢乱说,是否大家会了,我也不敢说。
    但是如果我不去试验,就不会知道danjiewu的答案正确,您说是吧?
      

  10.   

    To:Ivony
    这个问题我也很困惑,我也认为是Bug,而不是问题。如果你说的对,请给个解释。谢谢
    http://community.csdn.net/Expert/TopicView.asp?id=5460944
      

  11.   

    每一个回复我都认真地看,认真地去试验,Ivony,出现正确答案之前和之后,你可以注意我的言论,对就是对,错就是错。没有什么可以混淆是非的。我之所以发表这个标题,一不是为了哗众取宠,二不是为了一定要个答案。
    就是因为第一个帖子的人,没有试验就乱扣帽子!每次发贴前,我都试验若干次之后,再去搜索,如果确实没有答案,我才回来发贴。
    拜托您也不要想当然,谢谢。
      

  12.   

    问题是lz没弄清楚就认为是ms的错而不是自己的做
    这是做人问题,不是说针对谁
    当然大部分人都有这个问题没什么的
    只是不要太激动省得事后没面子
      

  13.   

    其实我也不知道,但是从VS.Net的界面设计来看,肯定是跟Atrribute有关,然后只要看一下UserControl的Text定义就很明白了。
    另外说一句,VS.Net本身就是.Net开发的最好教材。
      

  14.   

    我也找了阿,只有这么一段,难道我安装不完整?Visual Basic(声明) 
    <BindableAttribute(False)> _
    Public Overrides Property Text As String
     
      

  15.   

    <EditorBrowsable(EditorBrowsableState.Never), Browsable(False), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Bindable(False)> _
    Public Overrides Property [Text] As String
        Get
            Return MyBase.Text
        End Get
        Set(ByVal value As String)
            MyBase.Text = value
        End Set
    End Property反编译获得的——MSDN帮助里面还是没有找到