【24】C# 窗体应用WinForm ——日历MonthCalendar属性、方法、实例应用

发布于:2025-07-30 ⋅ 阅读:(18) ⋅ 点赞:(0)

  • WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,是 C# 语言中的一个重要应用。

  • .NET 提供了大量 Windows 风格的控件和事件,可以直接拿来使用。

  • 本教程内容是按照标题序号逐渐深入的,如有不懂的基础问题,可看前面教程

15 日历MonthCalendar

月历控件(MonthCalendar)是用于选择日期的控件,通常以整个月份的日历形式显示日期。用户可以通过单击日期来选择日期。

属性:

  • FirstDayOfWeek: 这是一个枚举属性,用于指定每周的第一天是哪一天。默认情况下,它通常设置为周日,但你可以将其更改为周一或其他任何适合你的选项。
  • MaxSelectionCount: 这是一个整数属性,用于限制用户可以选择的日期的数量。你可以将其设置为1,以确保用户只能选择单个日期,或者将其设置为大于1的值,以允许选择多个日期。
  • ShowWeekNumbers: 这是一个布尔属性,如果设置为True,则在月历控件中显示每周的周数。
  • ShowToday: 这是一个布尔属性,如果设置为True,则在月历控件中突出显示当天的日期。

事件:

  • DateChanged: 当用户选择的日期或日期范围发生改变时,将触发DateChanged事件。这是一个常用的事件,通常用于在用户选择日期时执行某些操作。

15.1 实例:使用日历控件实现入职日期的选择

在这里插入图片描述

添加一个 MonthCalendar控件
在这里插入图片描述
再添加一个Label,一个textBox,一个button
在这里插入图片描述

双击 buttonMonthCalendar 控件进入函数,编写代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WinFormTest
{
    public partial class Form1 : Form
    {
        string msg;

        public Form1()// 
        {
            InitializeComponent();

            //显示日历控件
            monthCalendar1.Show();
        }

        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {
            //将选择的日期显示在文本框中
            textBox1.Text = monthCalendar1.SelectionStart.ToShortDateString();
            msg = monthCalendar1.SelectionStart.ToShortDateString();
            //隐藏日历控件
            //monthCalendar1.Hide();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("你的入职时间是:" + msg, "提示");
        }
    }
}

运行测试
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到