//Hiển thị ngày âm, tháng âm và giờ hoàng đạo private void DisplayLunnarDate(DateTime date) { #region Chú thích LuniSolarDate <VietnameseLocalInfoProvider> lunnardate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(date); LunnarSample.LunnarCalendar lunnar = new LunnarSample.LunnarCalendar(); #endregion #region Lấy thông tin ngày âm labelLunnarDay.Text = lunnardate.Day.ToString(); labelLunnarDay.ForeColor = ColorLunnar; labelLunnarDay.Location = new Point((PanelLunnarDay.Size.Width / 2) - (labelLunnarDay.Size.Width / 2), 32); #endregion #region Lấy thông tin ngày hoàng đạo if (lunnar.IsZodiacDay(date, lunnardate.Month) == 1) { PictureZodiac.IconChar = FontAwesome.Sharp.IconChar.YinYang; PictureZodiac.IconColor = Color.Yellow; } else if (lunnar.IsZodiacDay(date, lunnardate.Month) == -1) { PictureZodiac.IconChar = FontAwesome.Sharp.IconChar.YinYang; PictureZodiac.IconColor = Color.Black; } else { PictureZodiac.IconChar = FontAwesome.Sharp.IconChar.None; } #endregion #region Lấy thông tin tháng âm ButtonLunnarMonth.Text = string.Format("Tháng {0}", lunnardate.Month); #endregion }
void AddNumberIntoMatrix(DateTime date) { ClearMatrix(); DateTime useDate = new DateTime(date.Year, date.Month, 1); int firstcolumn = DateOfWeek.IndexOf(useDate.DayOfWeek.ToString()); LunnarSample.LunnarCalendar lunnarCalendar = new LunnarSample.LunnarCalendar(); int line = 0; int column = 0; int num = 0; if (firstcolumn != 0) { if (date.Month == 1) { useDate = new DateTime(date.Year - 1, 12, 31 - firstcolumn + 1); } else { useDate = new DateTime(date.Year, date.Month - 1, DayOfMonth(new DateTime(date.Year, date.Month - 1, 1)) - firstcolumn + 1); } for (int i = 0; i < firstcolumn; i++) { LuniSolarDate <VietnameseLocalInfoProvider> lunnardate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(useDate); column = DateOfWeek.IndexOf(useDate.DayOfWeek.ToString()); CustomButton btn = Matrix[line][column]; btn.TextColor = Color.DarkGray; btn.Horizontal_Alignment = StringAlignment.Near; btn.ButtonText = useDate.Day.ToString(); btn.SLunnarDay = lunnardate.Day; btn.SLunnarMonth = lunnardate.Month; btn.ZodiacDay = lunnarCalendar.IsZodiacDay(useDate, lunnardate.Month); btn.LunnarDayColor = Color.DarkGray; btn.Click += PreviousBttn_Click; useDate = useDate.AddDays(1); MatrixColor[line][column] = btn.BackColor; num++; } } useDate = new DateTime(date.Year, date.Month, 1); for (int i = 1; i <= DayOfMonth(date); i++) { column = DateOfWeek.IndexOf(useDate.DayOfWeek.ToString()); LuniSolarDate <VietnameseLocalInfoProvider> lunnardate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(useDate); CustomButton btn = Matrix[line][column]; //btn.BackColor = Color.PaleTurquoise; btn.Horizontal_Alignment = StringAlignment.Near; btn.ButtonText = i.ToString(); btn.SLunnarDay = lunnardate.Day; btn.SLunnarMonth = lunnardate.Month; btn.ZodiacDay = lunnarCalendar.IsZodiacDay(useDate, lunnardate.Month); btn.LunnarDayColor = Color.Red; btn.Click += ButtonNum_Click; if (IsEqualDate(useDate, DateTime.Now)) { btn.TextColor = Color.Aqua; } if ((IsEqualDate(useDate, dtpk.Value)) && (btn.BackColor != Color.Aqua)) { btn.TextColor = Color.SandyBrown; } //Những ngày lễ int k = IsPublicDay(useDate); if (k == 1) { btn.TextColor = Color.Red; } else if (k == 0) { btn.TextColor = Color.BlueViolet; } if (k == -1) { btn.TextColor = Color.Red; } MatrixColor[line][column] = btn.BackColor; if (column >= 6) { line++; } useDate = useDate.AddDays(1); num++; } { if (date.Month == 12) { useDate = new DateTime(date.Year + 1, 1, 1); } else { useDate = new DateTime(date.Year, date.Month + 1, 1); } for (int i = 1; i <= (42 - num); i++) { column = DateOfWeek.IndexOf(useDate.DayOfWeek.ToString()); LuniSolarDate <VietnameseLocalInfoProvider> lunnardate = LuniSolarCalendar <VietnameseLocalInfoProvider> .LuniSolarDateFromSolarDate(useDate); CustomButton btn = Matrix[line][column]; btn.Click += NextBttn_Click; btn.Horizontal_Alignment = StringAlignment.Near; btn.ButtonText = useDate.Day.ToString(); btn.SLunnarDay = lunnardate.Day; btn.SLunnarMonth = lunnardate.Month; btn.ZodiacDay = lunnarCalendar.IsZodiacDay(useDate, lunnardate.Month); btn.LunnarDayColor = Color.DarkGray; btn.TextColor = Color.DarkGray; MatrixColor[line][column] = btn.BackColor; if (column >= 6) { line++; } useDate = useDate.AddDays(1); } } }