我在 TextBox 控件中有一个带有日期值的表单。该表单使用 BindingSource 对 DataSet 和 SQL 2005 CE 数据库进行数据绑定(bind)。 我在哪里控制日期的格式?例如,在整个过程中,我在属性中的任何地方都没有看到删除时间部分的可能性。
我当然可以在数据库中执行此操作并传递一个字符串而不是 DateTime,但这是解决方法而不是解决方案。
最佳答案
您可以处理事件 Binding.Format 事件来格式化日期。及其对应的 Binding.Parse 用于解析来自 TextBox 的输入。
例如
TextBox.DataBindings["Text"].Format += new ConvertEventHandler(FormatDateEventHandler);
...
private void FormatDateEventHandler (object sender, ConvertEventArgs e)
{
if (! Convert.IsDBNull (e.Value))
{
e.Value = ((DateTime)e.Value).ToString ("d", CultureInfo.CurrentCulture);
}
}
关于winforms - 数据绑定(bind) WinForms 表单 - 如何格式化日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/659949/