在数据绑定过程中自定义格式或转换MaskedTextBox中的数据[英] custom format or transform data in a MaskedTextBox during databinding

问题描述

我正在寻找一种在 MaskedTextBox 中显示其他数据的方法,而不是它绑定到的数据 (DataTable).

更具体地说:DataTable 包含一个 DateTime 列 (DateOfBirth).每当年份为 1900 时,我想在 MaskedTextBox 中将其显示为空,同时将其保留在底层 DataTable 中,因为我将 1900 用于"未知".

示例:DataTable 中的值:1900-10-09 --[DataBinding]-->MaskedTextBox __-10-09

目前,我正在使用 BindingSource 的 CurrentItemChanged-Event 来修改 MaskedTextBox 的文本属性.只要我简单地浏览 DataTable,它就可以很好地工作.但是,当我开始编辑 MaskedTextBox 时,1900 又回来了.

如果我能以某种方式拦截从 DataRow 传递到 MaskedTextBox 的值,而不是事后替换它,那就更好了.

或者也许有一种方法可以让 MaskedTextBox 将 1900 显示为空?

我已经在 stackoverflow 上问过同样的问题,但到目前为止,没有人给出新的答案——至少对于 Windows 窗体不是:
stackoverflow

所以,如果有人知道这里的答案,将不胜感激!

非常感谢和最好的问候
-spitfire

推荐答案

你试过 Binding::Format 和 Binding::Parse 吗?http://msdn.microsoft.com/en-US/library/system.windows.forms.binding_members(v=vs.80).aspx[^]

本文地址:https://www.itbaoku.cn/post/1394904.html