在一个窗体中有多个TextBox控件,当修改其中一个,会通过程序检查与之相关的TextBox(即值是由上一个通过公式计算而来的),然后会自动修改那些与之相关的值回填到相应的TextBox中。
我是通过TextChanged事件进行触发的,但这样有个问题,当我修改第一个TextBox时,与之相关的TextBox值就通过计算得出一个值,但当回填到它对应的TextBox时,会再次触发TextChanged事件如何能使只是修改的TextBox控件触发,当触发完毕其它与之相关的TextBox回填值时不触发呢?
请指教!谢谢!
我是通过TextChanged事件进行触发的,但这样有个问题,当我修改第一个TextBox时,与之相关的TextBox值就通过计算得出一个值,但当回填到它对应的TextBox时,会再次触发TextChanged事件如何能使只是修改的TextBox控件触发,当触发完毕其它与之相关的TextBox回填值时不触发呢?
请指教!谢谢!
{
if (changing) return;
changing = true;
.....
changing = false;
}
private void textBox_TextChanged(object sender, EventArgs e)
{
TextBox tmp = sender as TextBox;
if (tmp == this.textBox1)
{
this.textBox2.TextChanged -= new EventHandler(textBox_TextChanged);
this.textBox2.Text = "...";
this.textBox2.TextChanged += new EventHandler(textBox_TextChanged);
}
else
{
this.textBox1.TextChanged -= new EventHandler(textBox_TextChanged);
this.textBox1.Text = "...";
this.textBox1.TextChanged += new EventHandler(textBox_TextChanged);
}
}