读书人

对“C#写的简略的日历窗体输出。”的

发布时间: 2013-02-25 10:23:36 作者: rapoo

对“C#写的简单的日历,窗体输出。”的改写,精简了一半多代码

原文:http://hi.baidu.com/wosxiaoyao/item/1837b791fde008d57b7f014f

其中的输出日历类Calendar如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;public class Calendar{    public void PrintCalendar(int year, int month, TextBox textbox)    {        StringBuilder builder = new StringBuilder();        builder.Append(" 日 一 二 三 四 五 六\r\n");        int hawdays = GetWeeksOfDate(year, month, 1); //这个月的第一天星期几        int days = GetDaysOfMonth(year, month); //获取想要输出月份的天数        for (int i = 1; i <= hawdays * 3; i++) //打印第一排前面的空格        {            builder.Append(" ");        }        for (int j = 1; j <= days; j++)        {            builder.Append(j.ToString().PadLeft(3, ' '));                    if ((hawdays + j) % 7 == 0)                builder.Append("\r\n");        }        textbox.Text = builder.ToString();    }        //计算星期几: 星期日至星期六的值为0-6    public static int GetWeeksOfDate(int year, int month, int day)    {        DateTime dt = new DateTime(year, month, day);        DayOfWeek d = dt.DayOfWeek;        return Convert.ToInt32(d);    }    //获取指定年月的天数    public static int GetDaysOfMonth(int year, int month)    {        DateTime dtCur = new DateTime(year, month, 1);        int days = dtCur.AddMonths(1).AddDays(-1).Day;        return days;    }  }


读书人网 >C#

热点推荐