我的自定义控件由一个TextBox和一个Button组成,重载了属性Text,并设置Bindable和Browsable为true,但发现只能够单向绑定,即只能够读取,不能把修改更新到数据库。我试了一整天后,决定做一个很弱智的尝试,把属性名字改为InnerText,竟然成功了。有哪位高人可以告诉我为什么不能用Text这个属性名字吗?谢谢。

解决方案 »

  1.   

    WinForm 控件,代码没什么特别的,大概如下格式:
    public class MyControl: UserControl
    {
      ......
      [Bindable(true)]
      [Browsable(true)]
      public new string Text
      {
         get
         {
           return this.txtBox.Text;
         }
         set
         {
           this.txtBox.Text = value;
         }
      }
      ......
    }把Text改为InnerText就搞定了
      

  2.   

    实现
    IPostBackDataHandler
    接口
      

  3.   

    没有看懂,我现在还在学习,没有工作,不过一般性的用动态绑定,如果用TextBox的话,可以得到单行信息,再调用一个修改表的方法就可以类,如果获得多行数据的话,建议用ComBox!!
      

  4.   

    Text是既存属性,不能重复声明啊!这样会重写其属性,但这样: UserControl继承的控件没有完全属性继承!
      

  5.   

    wengan0001:您可能搞错我的意思了^_^我只是想做一个控件实现类似Microsoft Navision的Lookup功能而已. 把属性名字改掉就可以了,只是不明白为什么使用Text这个属性名时数据绑定是单向的,只能读,不能回写。
      

  6.   

    value 应该为字符串
    将value转换为字符串convert::toString(value);