复合日期和时间控件






4.40/5 (11投票s)
显示日期和时间的控件。
引言
此控件显示组合的日期和时间,带有日历下拉菜单和上下箭头。它基本上是将两个日期选择器控件使用SplitContainer合并在一起。分割条可以调整,以为两侧提供更多空间。
这是我第一次尝试制作这样的控件,所以如果还有其他方法,我很乐意接受建议。
背景
日期选择器控件可以仅显示日期或时间值。我目前在我们的MFC应用程序中使用一个组合的日期/时间控件 (BCGDateTime)。当我迁移到VS 2005时,我找不到为.NET编写的类似控件,所以就着手做了这个。
添加控件
使用“添加引用”来在您的项目中添加对DateAndTimeControls
程序集的引用。
通过右键单击某个类别并在工具箱中选择“选择项”来将控件添加到工具箱。
将控件拖动到窗体上。属性面板显示新的属性和事件
DateTimeValue
- 控件的默认属性。DateValue
- 控件的仅日期值TimeValue
- 控件的仅时间值MinDate
- 控件的最小日期/时间值MaxDate
- 控件的最大日期/时间值
DateFormat
- 枚举的日期选择器格式值(例如,长格式)DateCustom
- 自定义格式掩码(例如,dd-MMM-yyyy)TimeFormat
- 枚举的日期选择器格式值(例如,时间)TimeCustom
- 自定义格式掩码(例如,hh:mi tt)
ValueChanged
- 控件的默认事件。当值发生变化时触发。
使用控件
从控件获取值
dim dt as Date
dt = DateTimeControl1.DateTimeValue
tTextbox1.Text = dt.ToString("dd-mmm-yyyy hh:mi tt")
将值放入控件
DateTimeControl1.DateTimeValue = Date.Now
或
Date.TryParse(TextBox1.Text, DateTimeControl1.DateTimeValue)
如果日期超出MinDate-MaxDate范围,构造函数将引发错误。
清除控件
DateTimeControl1.DateTimeValue = new Date(0L)
也可以通过在控件中键入<Backspace>来清除日期。
关注点
感谢这个项目,我学会了如何将新的类事件暴露给外部世界。