winform如何判断窗体上的值是否被修改过

哥本哈根 2011-07-21 02:03:13
需要在客户关闭窗体的时候进行提示 有数据未保存 是否进行保存

因为窗体上的textbox很多

需要在每个textbox中都写一个方法吗?

...全文
294 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
流浪的青春 2011-07-21
  • 打赏
  • 举报
回复
启动的时候,把所有的textbox的值保存一下,然后在关闭的时候再比较一下,这样应该是最简单的了。
isjoe 2011-07-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 hello_wys 的回复:]
需要在客户关闭窗体的时候进行提示 有数据未保存 是否进行保存

因为窗体上的textbox很多

需要在每个textbox中都写一个方法吗?
[/Quote]

如果是数据库数据,则将数据和控件,用。Net绑定机制进行绑定即可。
buttonEdit.DataBindings.Add(new System.Windows.Forms.Binding("Text", Source, strFieldName, true));
其他操作或退出之前调用this.Validate();,通过检测DataTable是否有过改变就知道用户是否改变了数据。

如果不是数据库的DataTable,也可以通过自定义类、属性的方式进行绑定检测
如一宝宝 2011-07-21
  • 打赏
  • 举报
回复
你不会封装一个事件方法;
动态遍历窗体上的所有textbox,为他们添加这个事件;

当textbox值被修改后,在其tag属性里面记录下;

保证时在修改tag值;

当用户退出窗体时,检查所有textbox的tag值即可!
bdmh 2011-07-21
  • 打赏
  • 举报
回复
在每个可能被修改的动作处,自己加个标记

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧