Winform界面上有几十个TextBox和Combox,用户可以浏览并且编辑相关值,如果有修改,在离开此页面时,要提示用户是否保存修改,有什么好的方法判断用户对当前值是否进行过编辑吗?

解决方案 »

  1.   

    你可以在初始化页面的时候对所有具有ValueChage属性的控件进行设置一个监测事件,如果属性变化了,自动触发事件进行处理,将变化记录下来,通常是在全局加一个属性IsChange,每次你要关闭时只有判断该属性是否被修改
      

  2.   

    一般的是在Controls.Add(object)事件中对ojbect绑定触发一个事件。前提是ojbect需要是valueChange事件,在事件内触发你自己定义的事件,你自己定义的事件管理一个变量,我一般是用属性来处理的。在外面看起来就是一个自动变化的属性。
      

  3.   

    你页面这些值从哪里来的?是从数据库读出来的吗,如果是的话你在写入数据库之前同dataset里面的字段值挨个比对一下就行
      

  4.   

    用过别人封装好的类,直接调用IsDirty()方法就能判断数据是否有改变,但不知道他内部是怎么实现的。。