vb.net

位置:IT落伍者 >> vb.net >> 浏览文章

VB.net2008打造精美电子日历程序


发布日期:2020年05月11日
 
VB.net2008打造精美电子日历程序

Visual Studio发布后迅速吸引了大量的VBNET爱好者Visual Studio以优化性和强大的功能而着称所以一时间同样也吸引了大量的专业编程人员经过人们几个月的试用后可以发现使用者普遍对这个新版本的Visual Studio感到满意当然Visual Studio最为突出的特点是快捷而更具有人性化了如今的Visual Studio的控件应用仍然相当重要而且很实用今天我将要介绍几个比较常用的控件和它们的相关属性通过一个实例让大家详细的了解程序的基本开发过程与控件使用技巧本文适合初学者和具备一定基础的使用者读者将在本文学习到GroupBox DateTimePickerComboBoxTextboxLabelMonthCalendarCheckBox等控件的使用以及对于 Windows窗体设计器的操作和方法的简单介绍

打开 Visual Studio 在文件 (File) 菜单上单击新建项目 (New Project) 在新建项目 (New Project) 对话框的模板 (Templates) 窗格中单击 Windows 应用程序(Windows Application)单击确定 (OK)

在Form窗体靠右侧中添加GroupBoxGroupBox控件(注意GroupBox创建在GroupBox上)其中GroupBox的Text为: 时间日期GroupBox的Text为:选项如图所示

完成后我们需要在GroupBox中添加DateTimePicker控件

DateTimePicker控件详细属性解释

DateTimePicker控件属性

CalendarFont 获取或设置应用于日历的字体样式

CalendarForeColor 获取或设置日历的前景色

CalendarmonthBackground 获取或设置历月的背景色

CalendarTitleBackColor 获取或设置日历标题的背景色

CalendarTitleForeColor 获取或设置日历标题的前景色

CalendarTrailingForeColor 获取或设置日历结尾日期的前景色

CanFocus 获取一个值该值指示控件是否可以接收焦点 (从 Control 继承) CanSelect 获取一个值该值指示是否可以选中控件 (从 Control 继承

Capture 获取或设置一个值该值指示控件是否已捕获鼠标 (从 Control 继承) CausesValidation 获取或设置一个值该值指示控件是否会引起在任何需要在接收焦点时执行验证的控件上执行验证 (从 Control 继承

Checked 获取或设置一个值该值指示是否已用有效日期/时间值设置了 Value 属性且显示的值可以更新

CheckForIllegalCrossThreadCalls 获取或设置一个值该值指示是否捕获对错误线程的调用这些调用访问控件的 Handle 属性 (从 Control 继承

ClientRectangle 获取表示控件的工作区的矩形 (从 Control 继承

ClientSize 获取或设置控件的工作区的高度和宽度 (从 Control 继承

CompanyName 获取包含控件的应用程序的公司名称或创建者 (从 Control 继承) Container 获取 IContainer它包含 Component (从 Component 继承

ContainsFocus 获取一个值该值指示控件或它的一个子控件当前是否有输入焦点(从 Control 继承

ContextMenu 获取或设置与控件关联的快捷菜单 (从 Control 继承

ContextMenuStrip 获取或设置与此控件关联的 ContextMenuStrip (从 Control 继承

Controls 获取包含在控件内的控件的集合 (从 Control 继承

Created 获取一个值该值指示控件是否已经创建 (从 Control 继承

Cursor 获取或设置当鼠标指针位于控件上时显示的光标 (从 Control 继承

CustomFormat 获取或设置自定义日期/时间格式字符串

DataBindings 为该控件获取数据绑定 (从 Control 继承

DefaultBackColor 获取控件的默认背景色 (从 Control 继承

DefaultFont 获取控件的默认字体 (从 Control 继承

DefaultForeColor 获取控件的默认前景色 (从 Control 继承

在GroupBox中添加个Label控件 属性Text分别设置如下:

Label TextTime

Label Text日期风格

Label Text日期格式

设置完成后效果如图

设置后我们还需要在GroupBox中添加个ComboBox与ComboBox控件

以及一Textbox控件如图

Form窗体中右侧界面工作完成了接着我们需要完成Form左侧界面了(也是我们最重要的显示日期日历的界面)

在Form窗体左侧添加MonthCalendar控件效果如图

MonthCalendar的控件的详细属性

MonthCalendar属性

Margin 获取或设置控件之间的空间 (从 Control 继承

MaxDate 获取或设置允许的最大日期

MaximumSize 获取或设置大小该大小是 GetPreferredSize 可以指定的上限 (从Control 继承

MaxSelectionCount 获取或设置月历控件中可选择的最大天数

MinDate 获取或设置允许的最小日期

MinimumSize 获取或设置大小该大小是 GetPreferredSize 可以指定的下限 (从Control 继承

ModifierKeys 获取一个值该值指示哪一个修改键(ShiftCtrl 和 Alt)处于按下的状态 (从 Control 继承

MonthlyBoldedDates 获取或设置 DateTime 对象的数组确定每月要用粗体显示的日期

MouseButtons 获取一个值该值指示哪一个鼠标按钮处于按下的状态 (从Control 继承

MousePosition 获取鼠标光标的位置(以屏幕坐标表示) (从 Control 继承) Name 获取或设置控件的名称 (从 Control 继承

Padding 获取或设置 MonthCalendar 控件的边缘与该控件的内容之间的空间

Parent 获取或设置控件的父容器 (从 Control 继承

PreferredSize 获取可以容纳控件的矩形区域的大小

(从 Control 继承

ProductName 获取包含控件的程序集的产品名称 (从 Control 继承

ProductVersion 获取包含控件的程序集的版本 (从 Control 继承

RecreatingHandle 获取一个值该值指示控件当前是否在重新创建其句柄 (从Control 继承

Region 获取或设置与控件关联的窗口区域 (从 Control 继承

Right 获取控件右边缘与其容器的工作区左边缘之间的距离(以像素为单位) (从Control 继承

RightToLeft 获取或设置一个值该值指示是否将控件的元素对齐以支持使用从右向左的字体的区域设置 (从 Control 继承

RightToLeftLayout 获取或设置一个值该值指示控件是否从右到左布局

ScrollChange 获取或设置月历控件的滚动率

SelectionEnd 获取或设置选定日期范围的结束日期

SelectionRange 为月历控件获取或设置选定的日期范围

SelectionStart 获取或设置所选日期范围的开始日期

ShowToday 获取或设置一个值该值指示控件底端是否显示 TodayDate 属性表示的日期

ShowTodayCircle 获取或设置一个值它指示是否用圆形或用正方形标识当天日期 ShowWeekNumbers 获取或设置一个值该值指示月历控件是否在每行日期的左侧显示周数 ()

SingleMonthSize 获取显示一个日历月所需的最小大小

Site 获取或设置控件的站点 (从 Control 继承

Size 获取或设置 MonthCalendar 控件的大小

TabIndex 获取或设置在控件的容器的控件的 Tab 键顺序 (从 Control 继承) TabStop 获取或设置一个值该值指示用户能否使用 Tab 键将焦点放到该控件上(从 Control 继承

Tag 获取或设置包含有关控件的数据的对象 (从 Control 继承

Text 已重写 获取或设置要在 MonthCalendar 上显示的文本

TitleBackColor 获取或设置指示日历标题区的背景色的值

TitleForeColor 获取或设置指示日历标题区的前景色的值

TodayDate 获取或设置由 MonthCalendar 用作今天的日期的值

TodayDateSet 获取指示是否已显式设置 TodayDate 属性的值

Top 获取或设置控件上边缘与其容器的工作区上边缘之间的距离(以像素为单位)(从 Control 继承

TopLevelControl 获取没有另一个 Windows 窗体控件作为其父级的父控件通常这是控件所在的最外面的 Form (从 Control 继承

TrailingForeColor 获取或设置一个值该值指示控件中没有完全显示的月中日期的颜色

UseWaitCursor 获取或设置一个值该值指示是否将等待光标用于当前控件以及所有子控件

在Form中左侧添加一个CheckBox控件Text属性设置为展示今天的日期再在CheckBox控件下部添加一个Button控件Text属性设置为Exit

最终效果如图

基本上我们的界面工作完成了接下来我们该输入代码了详细过程如下

双击Form窗体进入Form_Load事件中

代码如下

Private Sub Form_Load(ByVal sender As SystemObject ByVal e As SystemEventArgs) Handles MyBaseLoad

MeComboBoxItemsAdd(long)

MeComboBoxItemsAdd(short)

MeComboBoxItemsAdd(timedate)

MeComboBoxItemsAdd(custom)

MeComboBoxItemsAdd(custom)

MeComboBoxItemsAdd(custom)

MeComboBoxItemsAdd(custom)

添加日期显示格式

MeComboBoxItemsAdd(下拉菜单式)

MeComboBoxItemsAdd(点击/选择式)

添加起始星期

MeComboBoxSelectedIndex =

MeComboBoxSelectedIndex =

MeTextBoxText = TimeOfDay

End Sub

进入ComboBox_SelectedIndexChanged事件中

代码如下

Private Sub ComboBox_SelectedIndexChanged(ByVal sender As SystemObject ByVal e As SystemEventArgs) Handles ComboBoxSelectedIndexChanged

Select Case MeComboBoxSelectedIndex

Case

MeDateTimePickerFormat = DateTimePickerFormatLong

Case

MeDateTimePickerFormat = DateTimePickerFormatShort

Case

MeDateTimePickerFormat = DateTimePickerFormatTime

Case

MeDateTimePickerFormat = DateTimePickerFormatCustom d表示一位

或两位的天数

MeDateTimePickerCustomFormat = MMM ddyyy ddd dd表示两位数的天数

Case

MeDateTimePickerFormat = DateTimePickerFormatCustom

MeDateTimePickerCustomFormat = dddhh:mm:sstt 星期几名称

Case

MeDateTimePickerFormat = DateTimePickerFormatCustom MeDateTimePickerCustomFormat = ddddHH:mm:sstt

Case

MeDateTimePickerFormat = DateTimePickerFormatCustom MeDateTimePickerCustomFormat = ddddHH:m:sst

End Select

MeTextBoxText = TimeOfDay

End Sub

进入ComboBox_SelectedIndexChanged事件中

代码如下

Private Sub ComboBox_SelectedIndexChanged(ByVal sender As SystemObject ByVal e As SystemEventArgs) Handles ComboBoxSelectedIndexChanged

Select Case MeComboBoxSelectedIndex

Case

MeDateTimePickerShowUpDown = False

Case

MeDateTimePickerShowUpDown = True

End Select

MeTextBoxText = TimeOfDay

End Sub

进入CheckBox_CheckStateChanged事件中

代码如下

Private Sub CheckBox_CheckStateChanged(ByVal sender As Object ByVal e As SystemEventArgs) Handles CheckBoxCheckStateChanged

If MeCheckBoxChecked Then

MeMonthCalendarShowToday = True

显示今天日期

Else

MeMonthCalendarShowToday = False

End If

End Sub

进入Button_Click事件中

代码如下

Private Sub Button_Click(ByVal sender As SystemObject ByVal e As SystemEventArgs) Handles ButtonClick

End

End Sub

好了代码输入完毕在这里补充说明如果我们平时编写程序时输入完代码以后

在代码视图中出现了Windows窗体设计器有很多初学者不知道是什么实际上Windows窗体设计器里面是系统自动生成代码这里面的代码更加详细有兴趣的朋友可看一看具体打开Windows窗体设计器步骤如下因为在平时Windows窗体设计器是隐藏的

详细的操作过程如下:

先选择<解决方案资源管理器>在上面有我们可以看到一些小图标选中第个图标(显示所有文件)如图

这个时候我们可以看到之前所没有显示的文件了单击Formvb的节点

看到了吗?就是这个文件FormDesignervb

双击打开它可以看到如图所示的代码视图这就是Windows窗体设计器了

好了我们的所有要做的工作已经完成了最后我们来测试一下程序吧最终程序界面如下

在这个程序中我们可以任意的选择多个复选框来选择一些样式当然我们还可以增加更多的功能打造一个个性化的电子日历程序

上一篇:在VB.NET中实现文件的拖放

下一篇:用VB.net2008编写屏幕抓捕程序