编辑器的取值由其 BaseEdit.EditValue 属性指定,并且这是一个对象,可以存储任何类型的数据。 编辑器可以处理标准类型,诸如 DateTime (DateEdit 编辑器) 和 Color (ColorEdit 编辑器),但也可以存储自定义数据类型,或者重写默认的数据类型。 在代码中可以轻松执行此操作,而仅需要把所需的对象指派到编辑器的 BaseEdit.EditValue 属性。
然而最终用户不能操作对象,并且通常只是看到呈现编辑值的显示文本。 这样,通常情况下在编辑框中要限制键入的字符串。 因此,编辑器提供了把编辑值转换为文本显示,以及把显示文本转换为编辑值的机制。
把编辑值转换为文本表示形式的处理被称为 格式设置(formatting)。 格式设置支持把自定义数据类型转换为人类可读的字符串,也支持区域设置,等等。 例如,可能需要以货币格式或科学计数格式显示数值。
把字符串转换为编辑值的处理被称为 解析(parsing)。 在默认情况下,编辑器尝试把输入的值转换为特定的数据类型。 由 Developer Express 提供的编辑器允许重写默认的解析机制。 这样,可以允许最终用户输入编辑器最初不支持的取值。 在这种情况下,需要人工实现转换算法。
下面的插图举例说明了格式设置与解析处理。
XtraEditors 库提供的格式设置与解析功能在下列主题中进行说明: