C#实现日历效果

本文实例为大家分享了C#实现日历效果的具体代码,供大家参考,具体内容如下

展示:

主要代码:

public partial class calendar : Form
    {
        public calendar()
        {
            InitializeComponent();
        }
        int year, month;

        private void textBoxMonth_TextChanged(object sender, EventArgs e)
        {
            if (textBoxMonth.Text == "")
                month = 0;
            month = Convert.ToInt32(textBoxMonth.Text);
        }

        private void buttonSearch_Click(object sender, EventArgs e)
        {
            seach();
        }

        private void textBoxYear_TextChanged(object sender, EventArgs e)
        {
            year = Convert.ToInt32(textBoxYear.Text);
        }

        private void buttonLastMonth_Click(object sender, EventArgs e)
        {
            int year = Convert.ToInt32(textBoxYear.Text);
            int month=Convert.ToInt32(textBoxMonth.Text);
            if (year == 1 && month == 1)
            {
                year = 1;
                month = 1;
            }
            else
            {
                if (month > 1)
                {
                    month--;
                    textBoxMonth.Text = Convert.ToString(month);
                    seach();
                }
                else
                {
                    textBoxMonth.Text = Convert.ToString(12);
                    year--;
                    textBoxYear.Text = Convert.ToString(year);
                    seach();
                }
            }
        }

        private void buttonNextMonth_Click(object sender, EventArgs e)
        {
            int month = Convert.ToInt32(textBoxMonth.Text);
            if (month < 12)
            {
                month++;
                textBoxMonth.Text = Convert.ToString(month);
                seach();
            }
            else
            {
                textBoxMonth.Text = Convert.ToString(1);
                int year = Convert.ToInt32(textBoxYear.Text);
                year++;
                textBoxYear.Text = Convert.ToString(year);
                seach();
            }
        }

        private void buttonLastYear_Click(object sender, EventArgs e)
        {
            int year = Convert.ToInt32(textBoxYear.Text);
            if(year>1)
            {
                year--;
                textBoxYear.Text = Convert.ToString(year);
                textBoxMonth.Text = Convert.ToString(1);
                seach();
            }
        }

        private void buttonNextYear_Click(object sender, EventArgs e)
        {
            int year = Convert.ToInt32(textBoxYear.Text);
            year++;
            textBoxYear.Text = Convert.ToString(year);
            textBoxMonth.Text = Convert.ToString(1);
            seach();
        }

        public void seach()
        {
            if (textBoxYear.Text == "" || textBoxMonth.Text == "")
                labelAlert.Text = "请输入年份及月份";
            else
            if (Convert.ToInt32(textBoxYear.Text) <= 0 || Convert.ToInt32(textBoxMonth.Text) <= 0 || Convert.ToInt32(textBoxMonth.Text) > 12)
                labelAlert.Text = "输入的年份与月份不能小于0,月份不能大于12";
            else
            {
                textBoxDemonstrate.Text = "周一    周二    周三    周四    周五    周六    周日" + "\r\n" + "\r\n" + "\r\n";
                textBoxDemonstrate.Text += compute(year, month);
            }
        }

        public bool leap_Year(int year)
        {
            if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
                return true;
            else
                return false;
        }

        public string compute(int year, int month)
        {
            int days1 = (year - 1) * 365;
            for (int i = 1; i < year; i++)
            {
                if (leap_Year(i))
                    days1++;
            }
            int[] monthArray = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
            if (leap_Year(year))
                monthArray[1] = 29;
            int days2 = 0, monthDays = monthArray[month - 1];
            for (int i = 0; i < month - 1; i++)
            {
                days2 += monthArray[i];
            }
            int days = days1 + days2;
            string strCalendar="";
            for (int i = 0; i < days % 7; i++)
                strCalendar += "        ";
            for(int i=1;i<monthDays+1;i++)
            {
                if (i < 10)
                    strCalendar += " " + i + "      ";
                else
                    strCalendar += Convert.ToString(i + "      ");
                if ((i+ days  % 7) % 7 == 0)
                    strCalendar += "\r\n"+"\r\n" + "\r\n";
            }
            return strCalendar;
        }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C#简单输出日历的方法

    本文实例讲述了C#简单输出日历的方法.分享给大家供大家参考.具体如下: 用C#输出日历,此功能可用于Ajax方式列出计划日程相关的内容,由于是C#控制输出,可以方便加上自己需要的业务处理逻辑. 1.控制台输出: using System; namespace 控制台日历 { class Program { public static void Main(string[] args) { string s = " "; Console.WriteLine("输入年份:"

  • C#实现农历日历的方法

    本文实例讲述了C#实现农历日历的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: //天干  private  static string []TianGan =   {"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"};     //地支  private

  • C#日历样式的下拉式计算器实例讲解

    本文介绍了如何在Visual Studio中创建用户控件来显示下拉式计算器,弹出效果类似于日历控件. 介绍 如果我们正在做一个类似于库存控制和计费系统的项目,有些部分可能必须手动计算数值.因此,用户就不得不使用计算器得到结果,再填入到输入字段中,或者在工作窗口上单独打开一个计算器窗口.总之,各种不便和麻烦. 这篇文章主要描述的是如何添加下拉式计算器到DataGridView单元格中,如下图: 使用代码 第一步,我们必须先创建一个函数计算器,并且能够使用控件.因此,不妨先创建一个Visual St

  • C# 日历类功能的实例代码

    C# 日历类的实现代码,具体如下所示: using System; namespace DotNet.Utilities { /// <summary> /// 农历属性 /// </summary> public class CNDate { /// <summary> /// 农历年(整型) /// </summary> public int cnIntYear = 0; /// <summary> /// 农历月份(整型) /// <

  • C#实现中文日历Calendar

    一.层次结构 Object<-----Calendar<-----EastAsianLunisolarCalendar<-----ChineseLunisolarCalendar(农历) 二.用法 1.支持的最大,最小日期 System.Globalization.ChineseLunisolarCalendar cc =new System.Globalization.ChineseLunisolarCalendar(); s1=cc.MinSupportedDateTime.ToSt

  • c# 日历控件的实现

    public partial class MonthCalendarForm : Form { public MonthCalendarForm() { InitializeComponent(); } //窗体加载事件 private void MonthCalendarForm_Load(object sender, EventArgs e) { //隐藏日历控件 monthCalendar1.Hide(); } //"选择"按钮的单击事件 private void button1

  • C#实现功能强大的中国农历日历操作类

    本文实例讲述了C#实现功能强大的中国农历日历操作类.分享给大家供大家参考.具体如下: 这个C#类定义了中国农历日历,除了可以输入正常的日历外还可以获得指定年份的生肖.返回年份的干支以及星座.二十四节气.二十八星宿.常用节日等. 部分代码片段如下 /// <summary> /// 传回农历y年闰月的天数 /// </summary> private static int leapDays(int y) { if (leapMonth(y) != 0) { if ((lunarInf

  • Vue.js创建Calendar日历效果

    使用 Vue.js 进行数据与视图的绑定,数据更新会让视图自动进行更新,类似 Android 里面的 DataBinding. 实现一个HTML的日历效果. html 部分 <div id="calendar"> <!-- 年份 月份 --> <div class="month"> <ul> <li class="arrow" @click="pickPre(currentYear,

  • js实现会跳动的日历效果(完整实例)

    一.简介 编写一个会动的日历,日历上面有年月日,周几,时分秒,效果如下: 年月日,周几,时分秒都会随着系统时间的走动而改变 二.代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scal

  • 原生js实现仿window10系统日历效果的实例

    舞动的灵魂版js日历,完全采用js实现,故而实现了与语言无关,jsp.asp.net php asp均可使用.无论你是开发软件,还是网站,均是不可或缺的实用代码. 该日历主要实现了获取当前时间时分秒,年月日星期,动态生成选择年的select,月的select,然后根据你所选中的年月,显示该年月对应的这一个月的日期. 点击上一个月,下一个月按钮,在下拉列表中显示对应的年月. <!DOCTYPE html> <html lang="en"> <head>

  • js编写当天简单日历效果【实现代码】

    之前一直很想用javascript写一个日历,但是因为完全没有好的思路, 所以迟迟没有尝试.最近在网上刚好看到用javascript编写的简单日历的例子,代码量虽然不大, 但是我觉得很好地阐述了js日历的实现原理.自己也尝试着做了一下,收获蛮大,掌握了基本的实现原理后,再想增加更多的功能,完全就可以自由发挥了,先在这里分享一下吧,有兴趣的可以试试! 一.表格行数问题 既然要显示日期表格的话,首先得知道这个表格有多少行多少列,列数是已经确定的,从星期天(日历上第1列是星期天)到星期六一共7列.要解

  • 微信小程序实现日历效果

    本文实例为大家分享了微信小程序实现日历效果的具体代码,供大家参考,具体内容如下 效果预览: wxml部分: <view class='box1' style='width: {{ sysW * 7 }}px'> <view class='dateBox'>{{ year }} - {{ month}}</view> <block wx:for='{{ weekArr }}'> <view style='width: {{ sysW }}px; heig

  • javascript实现日历效果

    本文实例为大家分享了js实现日历效果的具体代码,供大家参考,具体内容如下 <!doctype html> <html> <head> <meta charset="gb2312"> <title>万年历</title> <script type="text/javascript"> var lunarInfo = new Array( 0x04bd8, 0x04ae0, 0x0a57

  • 微信小程序日历效果

    本文实例为大家分享了微信小程序日历效果的具体代码,供大家参考,具体内容如下 源码下载地址 项目需要一个日历功能,花了一天时间实现的微信小程序日历,js大小只有几k,引入了bootstrap字体图标(文件icon.wxss,该字体已经bootstrap字体图标需要的字体)看起来有80k,出去icon.wxss整个只有几k,有问题欢迎指正 如图: index.wxml <view class="page"> <view class="box">

  • 微信小程序自定义带价格显示日历效果

    本文实例为大家分享了微信小程序自定义日历效果的具体代码,供大家参考,具体内容如下 JS代码: var Moment = require("../../utils/moment.js"); var DATE_YEAR = new Date().getFullYear(); var DATE_MONTH = new Date().getMonth() + 1; var DATE_DAY = new Date().getDate(); Page({ data: { year: '', mon

  • 小程序实现横向滑动日历效果

    本文实例为大家分享了小程序实现横向滑动日历效果的具体代码,供大家参考,具体内容如下 <scroll-view class="scroll-view_H" scroll-x> <view class='list' style='width:{{ width }}rpx'> <view bindtap="select" wx:for="{{ calendar }}" wx:key="" wx:for-

  • 原生js实现日历效果

    本文实例为大家分享了js实现日历效果的具体代码,供大家参考,具体内容如下 html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <met

随机推荐