您好,登錄后才能下訂單哦!
這篇文章主要講解了“C#如何實現(xiàn)日歷效果”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C#如何實現(xiàn)日歷效果”吧!
展示:
主要代碼:
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; } }
感謝各位的閱讀,以上就是“C#如何實現(xiàn)日歷效果”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對C#如何實現(xiàn)日歷效果這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。