Как установить текущую дату в активном месяце, используя календарь Пабо? - PullRequest
1 голос
/ 15 февраля 2020

Я хочу показать текущую дату в календаре Pabo, но есть только свойство только для чтения.

Как установить текущую дату?

namespace Pabo.Calendar
{
    [DefaultEvent("MonthChanged")]
    [DefaultProperty("Name")]
    [Designer(typeof(MonthCalendarDesigner))]
    [ToolboxBitmap(typeof(MonthCalendar), "Pabo.Calendar.MonthCalendar.bmp")]
    [ToolboxItem(true)]
    public class MonthCalendar : Control
    {
        public WeekCallBack WeeknumberCallBack;

        public MonthCalendar();

        [Category("Behavior")]
        [Description("")]
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
        public ActiveMonth ActiveMonth { get; }
        [Category("Behavior")]
        [DefaultValue(0)]
        [Description("First day of week.")]
        [RefreshProperties(RefreshProperties.All)]
        [TypeConverter(typeof(FirstDayOfWeekConverter))]
        public int FirstDayOfWeek { get; set; }

    }  
}

1 Ответ

0 голосов
/ 15 февраля 2020

Я не очень знаком с элементом управления Pabo.Calendar, но похоже, что вы можете просто обновить свойства Month или Year объекта, который возвращается из свойства ActiveMonth. Примерно так должно работать:

// This code example assumes you have an instance of the 
// MonthCalendar object that is called `myMonthCalendar`.
var today = DateTime.Today;
myMonthCalendar.ActiveMonth.Year = today.Year;
myMonthCalendar.ActiveMonth.Month = today.Month;

Приведенный выше код считывает значение из свойства ActiveMonth (которое является экземпляром класса ActiveMonth, который, в свою очередь, содержит два свойства Year и Month). Затем он установит свойства Year и Month на нужные значения. Более подробный вариант кода выше:

// This code example assumes you have an instance of the 
// MonthCalendar object that is called `myMonthCalendar`.
var today = DateTime.Today;
var activeMonth = myMonthCalendar.ActiveMonth; // Here we only read the ActiveMonth property.
activeMonth.Year = today.Year; // Here we update or set the Year value
activeMonth.Month = today.Month; // Here we update or set the Month value
...