比如,有20个textbox,它们都设置textBox1_TextChanged事件,即内容发生改变,就保存信息这20个textbox的信息。
保存的信息,以后会在这20个textbox上重写。
但,这样会造成一个问题,先前保存的信息重写的时候,textBox1的内容也发生了改变,就会触发textBox1_TextChanged事件,这样,就会边重写,边发生改变,进而边重写边保存,保存的信息就会乱七八糟的请教更好的办法

解决方案 »

  1.   

    应该是把资料写到 TextBox 之後才注册事件
    才能避免你所说的情况吧
      

  2.   

            private void textBox1_TextChanged(object sender, EventArgs e)
            {
                TextBox tb=(TextBox)sender;
                //保存tb.Text;
                //乱吗?不乱啊,在某一时刻,只能会有一个textBox触发textBox1_TextChanged,谁触发就保存谁,不乱啊        }
      

  3.   


    这,其他的都没变你重写什么,没意义啊,
    即使你要保存全部,那遍历下所有textBox,保存他们。也没必要为那些没有改变的控件重写吧
      

  4.   

    咋那么多TEXTBOX呀,不可以想办法代替TEXTBOX吗?太多效率不高,不好控制呀
      

  5.   

    LZ 可以把用途说明下..可以让俺们更好的理解下...或者用textBox1_Validated这个事件..//在成功验证控件后发生..textBox1_TextChanged  //是文本一更新就触发.LZ你要改一个就触发重写,又重复调用事件..MS不合理哦~~~~
      

  6.   

    或者用离开焦点的事件触发?
    MS用textBox1_TextChanged不合理。
      

  7.   

    哪果是只需要手动修改后才保存,请用"textBox1_Leave"事件,这样就能避免程序边写边保存的情况,并且"textBox1_TextChanged"是每改变一个字符都会触发,如果输入的数据有几十个,那个它会保存几十次,效率低。
    当然如果你需要在程序改变字符时也保存,那就得想别的办法了。