禁止控件输入,只能选择日期
dateEdit1.Properties.TextEditStyle = DisableTextEditor
设置选择日期必须大于当天
dateEdit1.Properties.MinValue = DateTime.Now.AddDays(1)
格式化显示日期
预定义的掩码
| 标准掩码 | 名称 |示例|
| ---- | ---- | ---- |
| d | 短日期模式 | 3/1/2005 |
| D | 长日期模式 |Tuesday,March 01,2005
| t | 短时间模式 | 10:15 AM
| T | 长时间模式 | 10:15:00 AM
| f | 完整日期/时间模式(短时间) | Tuesday,March 01,2005 10:15 AM
| F | 完整日期/时间模式(长时间) | Tuesday,March 01,2005 10:15:00 AM
| g | 常规日期/时间模式(短时间) | 3/1/2005 10:15 AM
| G | 常规日期/时间模式(长时间) |3/1/2005 10:15:00 AM
| M 或 m | 月日模式 | March 01
| R 或 r | RFC1123 模式 | Tue,01 Mar 2005 10:15:00 GMT
| s | 可排序的日期/时间模式;符合 ISO 8601 | 2005-03-01T0:15:00
| u | 通用的可排序日期/时间模式 | 2005-03-01 10:14:00Z
| Y 或 y | 年月模式 | March,2005
自定义掩码,如果预定义掩码不符合特定的需求,则可以使用自定义掩码。
掩码 | 说明 |
---|---|
d | 月中日期的占位符。 如果月中日期只是一位数字 (1-9),则它被显示为一位数字。注意,如果单独使用“d”说明符,而没有其他自定义说明符,则它被解释为特定的标准掩码 (短日期模式)。 如果“d”说明符与其他自定义说明符或“%”字符一起被传递,则它被解释为自定义掩码说明符。 |
dd | 月中日期的占位符。 如果月中日期只是一位数字 (1-9),则它被使用前导零格式化 (01-09)。 |
ddd | 显示当前日期(在一周内)的缩写名称。 缩写名称由当前 culture 的DateTimeFormatInfo.AbbreviatedDayNames 属性确定。此说明符表示的取值不能被编辑。 |
dddd | 显示当前日期(在一周内)的完整名称。 日期的完整名称由当前 culture 的 DateTimeFormatInfo.DayNames 属性确定。此说明符表示的取值不能被编辑。 |
f | 由一位数字表示的秒部分(十分之几秒)的占位符。注意,如果单独使用“f”说明符,而没有其他自定义说明符,则它被解释为特定的标准掩码 (完整日期/时间模式)。 如果“f”说明符与其他自定义说明符或“%”字符一起被传递,则它被解释为自定义掩码说明符。 |
ff | 由两位数字表示的秒部分(百分之几秒)的占位符。 |
fff | 由三位数字表示的秒部分(毫秒)的占位符。 |
ffff | 显示四位数字的秒部分(万分之几秒)。此说明符表示的取值不能被编辑。 |
fffff | 显示五位数字的秒部分(十万分之几秒)。此说明符表示的取值不能被编辑。 |
ffffff | 显示六位数字的秒部分(百万分之几秒)。此说明符表示的取值不能被编辑。 |
fffffff | 显示七位数字的秒部分(千万分之几秒)。此说明符表示的取值不能被编辑。 |
g | 显示当前日期/时间值的纪元 (例如 A.D.)。此说明符表示的取值不能被编辑。 |
h | 日期/时间值的小时部分的占位符,其范围是 1-12。 |
hh | 日期/时间值的小时部分的占位符,其范围是 1-12。 此模式插入两个占位符来输入一个值。 如果输入了单个数字,则它被以零前导。 |
H | 日期/时间值的小时部分的占位符,其范围是 0-23。 |
HH | 日期/时间值的小时部分的占位符,其范围是 0-23。 此模式插入两个占位符来输入一个值。 如果输入了单个数字,则它被以零前导。 |
m | 日期/时间值的分钟占位符,其范围是 0-59。 |
mm | 日期/时间值的分钟占位符,其范围是 0-59。 此模式插入两个占位符来输入一个值。 如果输入了单个数字,则它被以零前导。 |
M | 在此位置的月份占位符,其限度是 1-12 范围内的数字。 |
MM | 在此位置的月份占位符,其限度是 1-12 范围内的数字。 此模式插入两个占位符来输入一个值。 如果输入了单个数字,则它被以零前导。 |
MMM | 月份缩写名称的占位符。 月份缩写名称由当前 culture 的 DateTimeFormatInfo.AbbreviatedMonthNames 属性确定。 |
MMMM | 月份完整名称的占位符。 月份完整名称由当前 culture 的 DateTimeFormatInfo.MonthNames 属性确定。 |
s | 日期/时间值的秒部分的占位符,其范围是 0-59。注意,如果单独使用“s”说明符,而没有其他自定义说明符,则它被解释为特定的标准掩码 (可排序的日期/时间模式)。 如果“s”说明符与其他自定义说明符或“%”字符一起被传递,则它被解释为自定义掩码说明符。 |
ss | 日期/时间值的秒部分的占位符,其范围是 0-59。 此模式插入两个占位符来输入一个值。 如果输入了单个数字,则它被以零前导。 |
t | 日期/时间值的 A.M./P.M. 指示符的首字符的占位符。注意,如果单独使用“t”说明符,而没有其他自定义说明符,则它被解释为特定的标准掩码 (短时间模式)。 如果“t”说明符与其他自定义说明符或“%”字符一起被传递,则它被解释为自定义掩码说明符。 |
tt | 日期/时间值的 A.M./P.M. 指示符的占位符。 |
y | 输入日期/时间值年份的后两位数字的占位符。注意,如果单独使用“y”说明符,而没有其他自定义说明符,则它被解释为特定的标准掩码 (年月模式)。 如果“y”说明符与其他自定义说明符或“%”字符一起被传递,则它被解释为自定义掩码说明符。 |
yy | 输入日期/时间值年份的后两位数字的占位符。 此模式插入两个占位符来输入一个值。 如果输入了单个数字,则它被以零前导。 |
yyyy | 输入包含世纪的日期/时间值年份部分的占位符。 |
z | 仅以整小时数来显示系统当前时区的时区偏移量。 偏移量始终显示为带有前导符号 (0 显示为“+0”),指明当前时区早于格林尼治标准时间的小时数 (+)、 或者晚于格林尼治标准时间的小时数 (-)。 取值范围是 -12 至 +13。 如果偏移量是单个数字 (0-9),则它显示为有适当前导符号的单个数字。此说明符表示的取值不能被编辑。 |
zz | 仅以整小时数来显示系统当前时区的时区偏移量。 偏移量始终显示为带有前导或后接符号 (0 显示为“+00”),指明当前时区早于格林尼治标准时间的小时数 (+)、 或者晚于格林尼治标准时间的小时数 (-)。 取值范围是 -12 至 +13。 如果偏移量是单个数字 (0-9),则它显示为有适当前导符号的以前导零格式化的值 (01-09)。 |
zzz | 以小时和分钟来显示系统当前时区的时区偏移量。 偏移量始终显示为带有前导或后接符号 (0 显示为“+00:00”),指明当前时区早于格林尼治标准时间的小时数 (+)、 或者晚于格林尼治标准时间的小时数 (-)。 取值范围是 -12:00 至 +13:00。 如果偏移量是单个数字 (0-9),则它显示为有适当前导符号的以前导零格式化的值 (01:00-09:00)。 |
: | 时间分隔符。 实际的时间分隔符由当前 culture 的 DateTimeFormatInfo.TimeSeparator 属性确定。 |
/ | 日期分隔符。 实际的日期分隔符由当前 culture 的 DateTimeFormatInfo.DateSeparator 属性确定。 |
" abc " 或 ' abc ' | 用引号括起的字符串。 把由单引号或双引号括起的字符串原样插入到编辑框中。 此字符串不能被编辑。 |
% c | 把标准掩码说明符之一的 c 说明符解释为自定义掩码说明符。注意,如果以单个字符单独使用某个掩码说明符,则它被解释为标准掩码说明符。 仅当掩码说明符由两个或两个以上字符组成时,它才被解释为自定义说明符。 为了使用与某个标准说明符相同的自定义说明符,应该在掩码中以 % 字符前导它。 |
\ c | 反斜杠被用作转义符。 它把后面跟随的字符原样插入到编辑框中。 |
任何其他字符 | 其他字符被原样插入到编辑框中。 |
var formatString = "yyyy.MM";//显示年月
var dateEdit=new DateEdit();
dateEdit.Properties.Mask.EditMask = formatString;
dateEdit.Properties.DisPlayFormat.FormatString= formatString;
dateEdit.Properties.EditFormat.FormatString = formatString;
dateEdit.Properties.Mask.UseMarkAsDisplay=true