数据绑定的WinForms表单 - 如何格式化日期?

时间:2009-03-18 20:25:10

标签: winforms data-binding datetime compact-framework formatting

我在TextBox控件中有一个带日期值的表单。该表单使用数据绑定与BindingSource对DataSet和SQL 2005 CE数据库。 我在哪里控制日期的格式?例如,在沿途的物业中,我没有看到剥去时间部分的可能性。

我当然可以在数据库中执行它并传递字符串而不是DateTime,但这是解决方法而不是解决方案。

2 个答案:

答案 0 :(得分:7)

您可以处理事件 Binding.Format 事件以格式化日期。与其对应的 Binding.Parse 来解析TextBox的输入。

E.g。

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);
    }
}

答案 1 :(得分:6)

使用设计器,选择文本框,单击属性选项卡,选择(DataBindings) - 高级。

在这里,您可以选择日期时间数据类型,也可以选择仅删除日期或时间等。