我有两个textbox控件,
textbox1的值改变会令textbox2的值改变,同时如果你改变textbox2也会改变textbox1的值。
我的问题是:我在修改textbox1的值时会让textbox2改变,textbox2改变的同时把我输入的textbox1的值给改了,怎么才会不改呢?例如
textbox1 : 输入12  ==》 得出textbox2: 24.5
但从textbox2得到改变触发函数修正textbox1的值为12.00001,我想还是12怎么办?

解决方案 »

  1.   

    加一个标记。说明是用户触发的还是你操作触发的。或是当前的textbox触发事件修改另一个之前先注销事件,改变了后再注册事件。
      

  2.   


            private void textBox1_KeyUp(object sender, KeyEventArgs e)
            {
                if (((TextBox)sender) == this.textBox1)
                {
                    this.textBox2.Text = this.textBox1.Text;
                }
                if (((TextBox)sender) == this.textBox2)
                {
                    this.textBox1.Text = this.textBox2.Text;
                }
            }把两个textbox的keyup事件都指定为textBox1_KeyUp即可
      

  3.   

    谢谢楼上两位,也许是我的误区,我在textchanged里面触发了,我把消息改在keypress里面就ok了