C#中DateTimePicker默認值顯示為空的問題
C# DateTimePicker 默認值顯示為空
#region 日期控件初始為空值處理
/// <summary>
/// 初始化日期時間控件
/// </summary>
/// <param name="dtp"></param>
public static void InitDateTimePicker(DateTimePicker dtp)
{
dtp.Format = DateTimePickerFormat.Custom;
dtp.CustomFormat = " "; //必須設(shè)置成" "
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 :防止日期控件不能選擇相同日期的 --- 要放置在設(shè)置格式之后
}
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 = " ";
}
}
#endregionDateTimePicker控件常用的屬性
DateTimePicker控件允許用戶在許多不同的格式中選擇一個日期或時間值(或兩者)。
可以以任何標(biāo)準(zhǔn)的事件和日期格式顯示基于DateTime的值。

1、CustomFormat
String類型
功能:用于格式化在控件中的顯示的日期和/或時間的自定義格式字符串。
默認值: ‘mm/dd/yyyy’例如04/24/2020
注意:Format 屬性必須設(shè)置為 DateTimePickerFormat.Custom,此屬性才能影響顯示的日期/時間的格式設(shè)置。
符號 | 意義 |
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
功能:確定日期和時間是用標(biāo)準(zhǔn)格式顯示還是用自定義格式顯示。
Format有如下4個選項:
(1)Custom:DateTimePicker 控件以自定義格式顯示日期/時間值。 有關(guān)詳細信息,請參閱 CustomFormat。
Eg:2020 年 01 月 03 日 at 22:15:35 下午
(2)Long:DateTimePicker 控件以用戶操作系統(tǒng)設(shè)置的長日期格式顯示日期/時間值。
Eg:2020 年 1 月 3 日
(3)Short:DateTimePicker 控件以用戶操作系統(tǒng)設(shè)置的短日期格式顯示日期/時間值。
Eg:2020/1/3
(4)Time:DateTimePicker 控件以用戶操作系統(tǒng)設(shè)置的時間格式顯示日期/時間值。
Eg:22:15:35
3、ShowUpDown
功能:指示是否為修改控件值顯示數(shù)字顯示框,而不是顯示下拉日歷。
當(dāng)屬性設(shè)置為true時,將使用數(shù)值調(diào)節(jié)鈕控件(也稱為 up-down 控件)來調(diào)整時間值。 ShowUpDown 可以通過單獨選擇每個元素并使用 "上移" 和 "下移" 按鈕更改值來調(diào)整日期和時間。
![]()
當(dāng)屬性設(shè)置為false時,將使用下拉日歷來調(diào)整時間值。

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C# listview添加combobox到單元格的實現(xiàn)代碼
從別處轉(zhuǎn)來的,自己進行了一些小的修改,還不錯,你自己先拖一個ListView1和一個ComboBox1,需要的朋友可以參考下2014-06-06
C# WPF實現(xiàn)讀寫CAN數(shù)據(jù)
這篇文章主要介紹了C# WPF實現(xiàn)讀寫CAN數(shù)據(jù),文中通過代碼示例給大家講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-06-06
C#子窗體獲取父窗體TextBox框的值實現(xiàn)方式
文章描述了在C#中通過構(gòu)造函數(shù)和公共屬性兩種方法實現(xiàn)窗體間傳遞數(shù)據(jù)的過程,父窗體通過按鈕點擊事件獲取子窗體的文本框值,并通過構(gòu)造函數(shù)或公共屬性將值傳遞給子窗體,子窗體在加載時接收并處理傳遞的值,顯示在文本框中2025-10-10
C# .Net實現(xiàn)灰度圖和HeatMap熱力圖winform(進階)
本文主要介紹了C# .NET實現(xiàn)簡易灰度圖和酷炫HeatMap熱力圖winform,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12

