【发布时间】:2008-10-29 09:57:59
【问题描述】:
我最近使用了一个令人敬畏的应用程序。从它们自己的类和“表单”继承的所有表单都具有惊人的功能,看起来很疯狂。
我感兴趣的是表单的这个“功能”。这是一个 C# WinForms 项目,让我大吃一惊。
表单绑定到小组编写的对象,以支持双向数据绑定(在一定程度上)。他们的行为方式很简单:
数据输入表单都有从文本框继承的控件,这些控件绑定到对象的属性,输入数据立即验证它,如果验证失败,则该框为浅粉红色,如果通过则为浅绿色。如果该框变为蓝色,这实际上意味着表单绑定到的数据库中的值已更改,并且您对控件的更改会在输入有效值时立即保存。有时必须在保存之前填充一部分控件。但这一切都是自动的。你可以在任何时候停下来,稍后再回来继续,而不用真正拯救自己。
就像我说的那样,如果其他人正在编辑他们更改的相同记录值,则会导致您的文本框变成蓝色,并且您知道需要重新加载屏幕才能查看最新信息。
所有这一切都来自使用他们自己编写的表单类和绑定到对象属性的自己的文本框控件。
我主要想知道该对象到底是如何确定该值已被其他人更改的。它肯定不是轮询数据库。这个系统太棒了。辉煌不止于此。
为简单起见。我如何创建一个对象或对象集合来模仿这种行为。我不会,但我什至看不到如何。
谢谢
【问题讨论】: