本文整理匯總了C#中System.Windows.Forms.MonthCalendar.GetFirstDateInMonthGrid方法的典型用法代碼示例。如果您正苦於以下問題:C# MonthCalendar.GetFirstDateInMonthGrid方法的具體用法?C# MonthCalendar.GetFirstDateInMonthGrid怎麽用?C# MonthCalendar.GetFirstDateInMonthGrid使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.Windows.Forms.MonthCalendar
的用法示例。
在下文中一共展示了MonthCalendar.GetFirstDateInMonthGrid方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: DrawSingleMonth
//.........這裏部分代碼省略.........
int position = i - (int) first_day_of_week;
if (position < 0)
{
position = 7 + position;
}
// draw it
Rectangle day_rect = new Rectangle(
day_name_rect.X + ((i + col_offset)* date_cell_size.Width),
day_name_rect.Y,
date_cell_size.Width,
date_cell_size.Height);
dc.DrawString (sunday.AddDays (i + (int) first_day_of_week).ToString ("ddd"), mc.Font, ResPool.GetSolidBrush (mc.TitleBackColor), day_rect, mc.centered_format);
}
// draw the vertical divider
int vert_divider_y = Math.Max(title_size.Height+ date_cell_size.Height-1, 0);
dc.DrawLine (
ResPool.GetPen (mc.ForeColor),
rectangle.X + (col_offset * date_cell_size.Width) + mc.divider_line_offset,
rectangle.Y + vert_divider_y,
rectangle.Right - mc.divider_line_offset,
rectangle.Y + vert_divider_y);
}
// draw the actual date items in the grid (including the week numbers)
Rectangle date_rect = new Rectangle (
rectangle.X,
rectangle.Y + title_size.Height + date_cell_size.Height,
date_cell_size.Width,
date_cell_size.Height);
int month_row_count = 0;
bool draw_week_num_divider = false;
DateTime current_date = mc.GetFirstDateInMonthGrid ( new DateTime (this_month.Year, this_month.Month, 1));
for (int i=0; i < 6; i++)
{
// establish if this row is in our clip_area
Rectangle row_rect = new Rectangle (
rectangle.X,
rectangle.Y + title_size.Height + (date_cell_size.Height * (i+1)),
date_cell_size.Width * 7,
date_cell_size.Height);
if (mc.ShowWeekNumbers) {
row_rect.Width += date_cell_size.Width;
}
bool draw_row = row_rect.IntersectsWith (clip_rectangle);
if (draw_row) {
dc.FillRectangle (GetControlBackBrush (mc.BackColor), row_rect);
}
// establish if this is a valid week to draw
if (mc.IsValidWeekToDraw (this_month, current_date, row, col)) {
month_row_count = i;
}
// draw the week number if required
if (mc.ShowWeekNumbers && month_row_count == i) {
if (!draw_week_num_divider) {
draw_week_num_divider = draw_row;
}
// get the week for this row
int week = mc.GetWeekOfYear (current_date);
if (draw_row) {
dc.DrawString (
week.ToString(),