C#中DateTimePicker默认值显示为空的问题

 更新时间:2023年06月16日 10:24:53   作者:Carpe_D1em  
这篇文章主要介绍了C#中DateTimePicker默认值显示为空的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

C# DateTimePicker 默认值显示为空

#region  日期控件初始为空值处理
/// <summary>
/// 初始化日期时间控件
/// </summary>
/// <param name="dtp"></param>
public static void InitDateTimePicker(DateTimePicker dtp)
{
    dtp.Format = DateTimePickerFormat.Custom;
    dtp.CustomFormat = " ";  //必须设置成" "
    dtp.ValueChanged -= DateTimePicker_ValueChanged;
    dtp.ValueChanged += DateTimePicker_ValueChanged;
    dtp.KeyPress -= DateTimePicker_KeyPress;
    dtp.KeyPress += DateTimePicker_KeyPress;
}
public static void DateTimePicker_ValueChanged(object sender, EventArgs e)
{
    DateTimePicker dtp = (DateTimePicker)sender;                                 
    dtp.Format = DateTimePickerFormat.Long;
    dtp.CustomFormat = null; //null;
    dtp.Checked = false;// 解决BUG :防止日期控件不能选择相同日期的 --- 要放置在设置格式之后
}
public static void DateTimePicker_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == (char)8)  // backspace左删除键
    {
        DateTimePicker dtp = (DateTimePicker)sender;
        dtp.Format = DateTimePickerFormat.Custom;
        dtp.CustomFormat = " ";
    }
}
#endregion

DateTimePicker控件常用的属性

DateTimePicker控件允许用户在许多不同的格式中选择一个日期或时间值(或两者)。

可以以任何标准的事件和日期格式显示基于DateTime的值。

1、CustomFormat

String类型

功能:用于格式化在控件中的显示的日期和/或时间的自定义格式字符串。

默认值: ‘mm/dd/yyyy’例如04/24/2020

注意:Format 属性必须设置为 DateTimePickerFormat.Custom,此属性才能影响显示的日期/时间的格式设置。

符号

意义

p

12小时制且小写(‘am’ or ‘pm’)

P

12小时制且大写(‘AM’ or ‘PM’)

s

秒,前面不补0

ss

秒,前面补0

H

时,24小时制,前面不补0

HH

时,24小时制,前面补0

h

时,12小时制,前面不补0

hh

时,12小时制,前面补0

d

日,前面不补0

dd

日,前面补0

ddd

例如,周五 周日

dddd

例如,星期五 星期日

m

分,前面不补0

mm

分,前面补0

M

月,前面不补0

MM

月,前面补0

MMM

月,例如,一月 二月

MMMM

月,完整的月份名

yy

年,后两位 如:16

yyyy

年,全部 如:2016

t

一个字母的 上/下

tt

两个字符的 上午/下午

CustomFormat:yyyy/dd/mm    2020/01/03

CustomFormat:yyyy '年' MM '月' dd '日' 'at' HH:mm;ss tt(单引号在英文输入法下输入)   

                           2020  年  01  月  03  日   at  22:15:35 下午

2、Format

功能:确定日期和时间是用标准格式显示还是用自定义格式显示。

Format有如下4个选项:

(1)Custom:DateTimePicker 控件以自定义格式显示日期/时间值。 有关详细信息,请参阅 CustomFormat。

Eg:2020  年  01  月  03  日   at  22:15:35 下午

(2)Long:DateTimePicker 控件以用户操作系统设置的长日期格式显示日期/时间值。

Eg:2020 年 1 月 3 日

(3)Short:DateTimePicker 控件以用户操作系统设置的短日期格式显示日期/时间值。

Eg:2020/1/3

(4)Time:DateTimePicker 控件以用户操作系统设置的时间格式显示日期/时间值。

Eg:22:15:35

3、ShowUpDown

功能:指示是否为修改控件值显示数字显示框,而不是显示下拉日历。

当属性设置为true时,将使用数值调节钮控件(也称为 up-down 控件)来调整时间值。 ShowUpDown 可以通过单独选择每个元素并使用 "上移" 和 "下移" 按钮更改值来调整日期和时间。

当属性设置为false时,将使用下拉日历来调整时间值。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C# URL短地址压缩算法及短网址原理解析

    C# URL短地址压缩算法及短网址原理解析

    这篇文章主要介绍了C# URL短地址压缩算法及短网址原理解析,本文重点给出了算法代码,需要的朋友可以参考下
    2015-03-03
  • C#设计模式之单例模式

    C#设计模式之单例模式

    这篇文章介绍了C#设计模式之单例模式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • C# 正则表达式进阶

    C# 正则表达式进阶

    这篇文章主要介绍了C# 正则表达式进阶,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 浅谈C# StringBuilder内存碎片对性能的影响

    浅谈C# StringBuilder内存碎片对性能的影响

    这篇文章主要介绍了浅谈StringBuilder内存碎片对性能的影响,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • C#集合本质之队列的用法详解

    C#集合本质之队列的用法详解

    本文详细讲解了C#集合本质之队列的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • C#删除文件夹和文件到回收站示例

    C#删除文件夹和文件到回收站示例

    本文介绍了C#删除文件和文件夹到回收站的方法,平时都是使用File.Delete方法删除文件,这样删除之后就真没有了。下面的代码可以将文件删除放到回收站里
    2014-01-01
  • 在winform中嵌入第三方软件窗体的实践分享

    在winform中嵌入第三方软件窗体的实践分享

    这篇文章主要介绍了在winform中如何嵌入第三方软件窗体的实践分享,文中通过代码示例和图文给大家介绍的非常详细,具有一定参考价值,需要的朋友可以参考下
    2024-03-03
  • C#合并BitMap图像生成超大bitmap

    C#合并BitMap图像生成超大bitmap

    当两个图像合并的时候,以简单的使用gdi+,当需要将许多bitmap合并时就会造成宽度过大,那么怎么实现C#合并BitMap图像,本文就详细的介绍一下
    2021-11-11
  • unity实现UI元素跟随3D物体

    unity实现UI元素跟随3D物体

    这篇文章主要为大家详细介绍了unity实现UI元素跟随3D物体,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • C#在winform中实现数据增删改查等功能

    C#在winform中实现数据增删改查等功能

    本篇文章主要是介绍了C#在winform中操作数据库,实现数据增删改查,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11

最新评论