winforms - 数据绑定(bind) WinForms 表单 - 如何格式化日期?

标签 winforms data-binding datetime compact-framework formatting

我在 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/

相关文章:

c# - 在不锁定文件的情况下在 Winforms 中显示动画 gif

c# - 为什么 SelectedItem 不显示在组合框中

c# - DateTime相对转换问题

c# - 隐藏一个表单,切换到第二个表单,关闭第二个表单并取消隐藏第一个表单

c# - 包含组合框窗口窗体的组合框项

.NET 字典键作为 ListBox 数据源

python - 将日期时间字段添加到重新数组中

java - 不改变时区的日期时间解析

c# - 如何将数据从 List<List<String>> 添加到 ListView

.net - WPF BooleanToVisibilityConverter 在 false 时转换为隐藏而不是折叠?