在本课中,您将学习如何在 Windows 窗体上显示日期。您还将学习如何在用户选择日期时执行操作。当使用显示日历的控件时,该控件使用户能够轻松选择日期。使用这些控件还可以确保日期的格式正确。可以使用 MonthCalendar 控件或 DateTimePicker 控件显示日历。
工具/原料
电脑一台
VB2008
了解MonthCalendar和DateTimePicker控件
1、MonthCalendar 控件可让您显示一个或多个月的日历。如果您使用此控件,则用户可以选择单个日期或一个日期范围。
![VB入门教程:[21]显示日期](https://exp-picture.cdn.bcebos.com/aebdff86242fa872539ad857bfdaf05e4b23e9d8.jpg)
2、DateTimePicker 控件有两种状态。默认情况下,DateTimePicker 控件以文本框形式出现,并带有一个下拉箭头。用户单击下拉箭头时,会出现一个日历。如果您使用此控件,则用户只可以选择单个日期。DateTimePicker 控件还使您能够显示时间而不是日期。
![VB入门教程:[21]显示日期](https://exp-picture.cdn.bcebos.com/f11f54237971fe1d585d7eaaea20a7cd0d6ee0d8.jpg)
3、用于从这些控件中检索日期的过程根据所使用的控件而不同。使用 MonthCalendar 控件的 Start 属性,并使用 DateTimePicker 控件的 Value 属性。
试一试【检索日期并在标签中显示 】
1、新建一个项目。单击“Windows 窗体应用程序”,然后单击“确定”。将“Label”控件添加到窗体中,保留默认名称“Label1”。移除“Label”控件的“Text”属性中的文本。将“MonthCalendar”控件添加到窗体中,保留默认名称“MonthCalendar1”。
![VB入门教程:[21]显示日期](https://exp-picture.cdn.bcebos.com/fab31cb375d7997b6c71bcebf9dade49600fd9d8.jpg)
2、双击“MonthCalendar”控件以便在代码编辑器中输入默认事件处理程序。在 MonthCalendar1_D锾攒揉敫ateChanged 事件处理程序中,添加下列代码以向列表添加项。Me.Label1.Text = CStr(Me.MonthCalendar1.SelectionRange.Start)
![VB入门教程:[21]显示日期](https://exp-picture.cdn.bcebos.com/739bc049610f8b56708148db9ce951e10ff8d3d8.jpg)
3、返回设计器砷啼硎实视图,并将“DateTimePicker”控件添加到窗体中,保留默认名称“DateTimePicker1”。双击“DateTimePicker”控件以便在代码编辑器中输入默认事件处理程序。在 DateTimePicker_ValueChanged 事件处理程序中,添加下列代码以向列表添加项。Me.Label1.Text = CStr(Me.DateTimePicker1.Value)
![VB入门教程:[21]显示日期](https://exp-picture.cdn.bcebos.com/16a84fe10ef8585636b8ce9753e9ccd2ba66cdd8.jpg)
4、运行程序。当窗体出现时,单击“MonthCalendar”控件中的日期,然后验证该日期是否会显示在标签中。单击“DateTimePicker”控件的下拉箭头并选择日期。日期和时间将显示在标签中。关闭程序。
![VB入门教程:[21]显示日期](https://exp-picture.cdn.bcebos.com/05a320a23a42a07a4f95da80673834bb18efc1d8.jpg)
![VB入门教程:[21]显示日期](https://exp-picture.cdn.bcebos.com/18aebc5f0c14c27b2507e03a2a46b7b1eff939d9.jpg)
检索多个日期
1、将 MonthCalendar1_DateChanged 事件处理程序中的代码阌毡驰璨更改为以下代码。此代码将设置着抹较氰控件中可选择的最大天数(两周)。如果仅选择了一天,则在标签中显示开始日期;如果在“MonthCalendar”控件中选择了一个范围,则显示相应的日期范围。Me.MonthCalendar1.MaxSelectionCount = 14If Me.MonthCalendar1.SelectionRange.Start = _ Me.MonthCalendar1.SelectionRange.End Then Me.Label1.Text = CStr(Me.MonthCalendar1.SelectionStart)Else Me.Label1.Text = Me.MonthCalendar1.SelectionRange.Start & _ " - " & Me.MonthCalendar1.SelectionRange.EndEnd If
![VB入门教程:[21]显示日期](https://exp-picture.cdn.bcebos.com/4d3d2ab33c4133bad2c765ce6a37c97623bc2fd9.jpg)
2、运行程序。当窗体出现时,在“MonthCalendar”控件中选择日期范围,然后验证该日期范围是否会显示在标签中。关闭程序。
![VB入门教程:[21]显示日期](https://exp-picture.cdn.bcebos.com/023cff37c97622bc7b43a9d4a05fd546049628d9.jpg)
设置日期格式
1、可以通过使用 FormatDateTime 函数为 MonthCalendar 控件和 DateTimePicker 控件返回的日期设置格式。可以使用一些常数来指示日期的格式:
![VB入门教程:[21]显示日期](https://exp-picture.cdn.bcebos.com/2a1ecb460596b814f856d3b043d246fe464e22d9.jpg)
2、将 MonthCalendar1_DateChanged 事件处理程序中的代码阌毡驰璨更改为以下代码。此代码将返回的日期设置为长日期格式。Me.MonthCalendar1.MaxSelectionCount = 14If Me.MonthCalendar1.SelectionRange.Start = _ Me.MonthCalendar1.SelectionRange.End Then Me.Label1.Text = FormatDateTime( _ Me.MonthCalendar1.SelectionStart, _ DateFormat.LongDate)Else Me.Label1.Text = FormatDateTime( _ Me.MonthCalendar1.SelectionRange.Start, _ DateFormat.LongDate) & " - " & FormatDateTime( _ Me.MonthCalendar1.SelectionRange.End, DateFormat.LongDate)End If
![VB入门教程:[21]显示日期](https://exp-picture.cdn.bcebos.com/3aae2b4f50b8b43ebf5d31f97132939c2df719d9.jpg)
3、将 DatePicker1_ValueChanged 事件处理程序中的代码更改为以下代码。此代码将返回的日期设置为长日亏坚橘锝期格式。Me.Label1.Text = FormatDateTime(Me.DateTimePicker1.Value, _ DateFormat.LongDate)
![VB入门教程:[21]显示日期](https://exp-picture.cdn.bcebos.com/fb738d9c2cf7dfb2c19fa89fd01b1edef5dc13d9.jpg)
4、运行程序。当窗体出现时,单击“MonthCalendar”控件中的单个日期或日期范围。验证该日期或日期范围是否会在标签中以长日期格式显示。单击“DateTimePicker”控件中的日期,并验证该日期是否会在标签中以长日期格式显示。关闭程序。
![VB入门教程:[21]显示日期](https://exp-picture.cdn.bcebos.com/5a5a00def4dca0393099a85f58d96975f3c40dd9.jpg)
5、在本课中,您学习了如何检索 MonthCalendar 和 DateTimePicker 控件中选择的日期并在 Windows 窗体上显示它们。您还学习了如何显示日期范围以及如何设置检索到的日期的格式。在下一课中,您将学习如何使用数据控件。