// this replaces paint so call the control version
base.Paint += new PaintEventHandler (PaintHandler);
+
+ Size = DefaultSize;
}
// called when this control is added to date time picker
// returns the rectangle for themonth name
internal Rectangle GetMonthNameRectangle (Rectangle title_rect, int calendar_index) {
- Graphics g = this.DeviceContext;
DateTime this_month = this.current_month.AddMonths (calendar_index);
- Size title_text_size = g.MeasureString (this_month.ToString ("MMMM yyyy"), this.Font).ToSize ();
- Size month_size = g.MeasureString (this_month.ToString ("MMMM"), this.Font).ToSize ();
+ Size title_text_size = TextRenderer.MeasureString (this_month.ToString ("MMMM yyyy"), this.Font).ToSize ();
+ Size month_size = TextRenderer.MeasureString (this_month.ToString ("MMMM"), this.Font).ToSize ();
// return only the month name part of that
return new Rectangle (
new Point (
internal void GetYearNameRectangles (Rectangle title_rect, int calendar_index, out Rectangle year_rect, out Rectangle up_rect, out Rectangle down_rect)
{
- Graphics g = this.DeviceContext;
DateTime this_month = this.current_month.AddMonths (calendar_index);
- SizeF title_text_size = g.MeasureString (this_month.ToString ("MMMM yyyy"), this.bold_font, int.MaxValue, centered_format);
- SizeF year_size = g.MeasureString (this_month.ToString ("yyyy"), this.bold_font, int.MaxValue, centered_format);
+ SizeF title_text_size = TextRenderer.MeasureString (this_month.ToString ("MMMM yyyy"), this.bold_font, int.MaxValue, centered_format);
+ SizeF year_size = TextRenderer.MeasureString (this_month.ToString ("yyyy"), this.bold_font, int.MaxValue, centered_format);
// find out how much space the title took
RectangleF text_rect = new RectangleF (
new PointF (
if (!is_shift_pressed && e.Shift) {
first_select_start_date = SelectionStart;
is_shift_pressed = e.Shift;
+ e.Handled = true;
}
switch (e.KeyCode) {
case Keys.Home:
this.SetSelectionRange (date, date);
}
this.OnDateChanged (new DateRangeEventArgs (SelectionStart, SelectionEnd));
+ e.Handled = true;
break;
case Keys.End:
// set the date to the last of the month
this.SetSelectionRange (date, date);
}
this.OnDateChanged (new DateRangeEventArgs (SelectionStart, SelectionEnd));
+ e.Handled = true;
break;
case Keys.PageUp:
// set the date to the last of the month
this.SetSelectionRange (date, date);
}
this.OnDateChanged (new DateRangeEventArgs (SelectionStart, SelectionEnd));
+ e.Handled = true;
break;
case Keys.PageDown:
// set the date to the last of the month
this.SetSelectionRange (date, date);
}
this.OnDateChanged (new DateRangeEventArgs (SelectionStart, SelectionEnd));
+ e.Handled = true;
break;
case Keys.Up:
// set the back 1 week
this.SetSelectionRange (date, date);
}
this.OnDateChanged (new DateRangeEventArgs (SelectionStart, SelectionEnd));
+ e.Handled = true;
break;
case Keys.Down:
// set the date forward 1 week
this.SetSelectionRange (date, date);
}
this.OnDateChanged (new DateRangeEventArgs (SelectionStart, SelectionEnd));
+ e.Handled = true;
break;
case Keys.Left:
// move one left
this.SetSelectionRange (date, date);
}
this.OnDateChanged (new DateRangeEventArgs (SelectionStart, SelectionEnd));
+ e.Handled = true;
break;
case Keys.Right:
// move one left
this.SetSelectionRange (date, date);
}
this.OnDateChanged (new DateRangeEventArgs (SelectionStart, SelectionEnd));
+ e.Handled = true;
break;
default:
break;
}
- e.Handled = true;
}
}