新西兰服务器

C#如何实现日历效果


C#如何实现日历效果

发布时间:2022-06-13 17:14:55 来源:高防服务器网 阅读:97 作者:iii 栏目:开发技术

这篇文章主要讲解了“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 = "周一    周二    周三    周四    周五    周六    周日" + "rn" + "rn" + "rn";                  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 += "rn"+"rn" + "rn";              }              return strCalendar;          }  }

感谢各位的阅读,以上就是“C#如何实现日历效果”的内容了,经过本文的学习后,相信大家对C#如何实现日历效果这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是高防服务器网,小编将为大家推送更多相关知识点的文章,欢迎关注!

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[