日期:2014-05-18  浏览次数:20833 次

C# 通过Control.DataBinding绑定数据 问题
当使用类似   textBox1.DataBindings.Add( "Text ",   textBox2,   "Text ",   false,   DataSourceUpdateMode.OnPropertyChanged);语句进行绑定时,两个textbox控件内容是相互关联的,即改变一个的内容另一个随之改变。
现使用自定义类如:              
                class   mycalss  
                {
                        public   string   Text
                        {
                                get;
                                set;
                        }
                }  
                myclass   a   =   new   myclass();
再进行相似的绑定   textBox1.DataBindings.Add( "Text ",   a,   "Text ",   false,   DataSourceUpdateMode.OnPropertyChanged);则只能够显示值,不能相互关联,一个值改变另一个未变化。

请教各位高手这种自定义类是否能进行绑定,如果能如何实现类似2个TextBox那样的相互关联??

------解决方案--------------------
一种比较简单的方法是使用WPF,
有一个依赖属性轻松解决
------解决方案--------------------
简单点用WPF,有一个依赖属性轻松搞定
------解决方案--------------------
可以用TextChanged
C# code

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            textBox3.Text = textBox2.Text;
        }

        private void textBox3_TextChanged(object sender, EventArgs e)
        {
            textBox2.Text = textBox3.Text;
        }

------解决方案--------------------
可以用TextChanged
C# code

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            textBox3.Text = textBox2.Text;
        }

        private void textBox3_TextChanged(object sender, EventArgs e)
        {
            textBox2.Text = textBox3.Text;
        }

------解决方案--------------------
DataSourceUpdateMode.OnPropertyChanged你只要设置这个属性了,应该不会啊!是不是你绑定的类型不对啊!