An Appointment object maintains information regarding a task for a particular date and time. The start and end of the appointment are stored in the
The
A new Appointment, can be created by either creating a new instance of an
An Appointment can have a
Resets the properties of the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Resets the value of the
Resets the value of the
Resets the value of the
Resets the value of the
Resets the value of the
Resets the value of the
Resets the properties of the
Resets the value of the
Resets the value of the
Resets the value of the
The following code will increase an appointment by one hour.
[VB]
UltraCalendarInfo1.Appointments(0).OffsetStartTime(System.TimeSpan.FromHours(1))
[C#]
ultraCalendarInfo1.Appointments[0].OffsetStartTime(System.TimeSpan.FromHours(1));
This method is helpful since, with the introduction of recurring appointments, it is possible to have multiple instances of an appointment object generated for the same instance/date of the recurrence. This is a consequence of our design decision to not internally cache references to the generated recurrence appointment objects. If we had cached those references then the objects, once generated would never be garbage collected until the component was.
The AppointmentAction object contains information regarding the type of action to perform as well as the command and parameters to pass to the action.
If the AppointmentAction object is enabled, the action will be invoked when the start date and time of the owning Appointment object has occurred.
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the component's Appearances collection and assign it some values as follows:
UltraMonthViewSingle1.Appearances.Add "New1"
UltraMonthViewSingle1.Appearances("New1").BorderColor = Color.Blue
UltraMonthViewSingle1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraMonthViewSingle1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraMonthViewSingle1.Appearance.ForeColor = UltraMonthViewSingle1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.
Use this property to determine if an
All-day events display as a boxed item in the MonthView and WeekView controls and at the top of the DayView control.
Note: The EndDateTime property cannot be set on an
Note: The StartDateTime property cannot be set on an
The AppointmentAction object contains information regarding the type of action to perform as well as the command and parameters to pass to the action.
Setting the Day of the
The CalendarInfo property can be used to move the
Note: Setting the CalendarInfo property to null (Nothing in VB) is not permitted and will cause an exception to be thrown.
Also note that when the CalendarInfo property is set to a different
Similarly, if the
If the
If the
To select an
[VB]
Dim appt as Infragistics.Win.UltraWinSchedule.Appointment
appt = Me.UltraCalendarInfo1.Appointments.Add(System.DateTime.Today, "New Appointment")
Me.UltraCalendarInfo1.SelectedAppointments.Add( appt )
[C#]
Infragistics.Win.UltraWinSchedule.Appointment appt = this.ultraCalendarInfo1.Appointments.Add(System.DateTime.Today, "New Appointment");
this.ultraCalendarInfo1.SelectedAppointments.Add( appt );
The IsMultiDay property returns whether the Appointment's
With the NAS2005 Vol 1 addition of the
Note: When using the
Only
Note: Attempting to set the Recurrence property of an Appointment that is a member of an existing
Note: For
The IsRemoved marks a member of a recurrence as having been logically removed.
When the
When the
An AppointmentAction is used to execute an application when the
Note: the
Normally an AppointmentAction is not created outside of the assembly but instead is created by an Appointment object when it is first requested.
Resets the value of the
Resets the value of the
Resets the value of the
Resets the value of the
The Command property, along with the
The Enabled property controls whether the AppointmentAction is invoked when the start time of the associated
With the NetAdvantage 2009 Volume 1 release, the
The DateRecurrence class is used to define date patterns which are used by the
The
The
Note: The first occurrence of the recurrence does not necessarily coincide with the RangeStartDate, but will never occur earlier than this date.
Setting the RangeStartDate property to a value that is outside the range determined by the associated CalendarInfo's
Note: When an
Note: If the OccurrenceDuration property is set such that it would cause occurrences to overlap, an exception is thrown.
Note: If the PatternDayOfMonth property is set to a value that exceeds the number of days in any of the months that the recurrence spans, the occurrence for those months will fall on the last day of that month.
Note: The value of the PatternDaysOfWeek property is expressed as bitflags, so that multiple days can be represented by the property.
When the
When the
When the
Note: Since certain values are not valid for the
The PatternInterval property works in conjunction with the
Note: The PatternInterval property is not applicable when the
Note: The PatternMonthOfYear property is only applicable when the
Note: The PatternOccurrenceOfDayInMonth property is only applicable when the
Note: The PatternType property is only applicable when the
Note: When
The last occurrence of the recurrence does not necessarily coincide with the RangeEndDate, but will never occur later than this date.
Setting the RangeEndDate property to a value that is outside the range determined by the associated CalendarInfo's
Note: The RangeMaxOccurrences property is applicable only when the
Note: The first occurrence of the recurrence does not necessarily coincide with the RangeStartDate, but will never occur earlier than this date.
Setting the RangeStartDate property to a value that is outside the range determined by the associated CalendarInfo's
The
Note: Setting the
Note: The Variances collection's
Returns an
Note: Because the
Note: Because the
When the
Modifications that are made to the
When the
Changes made to the properties if the
Unlike the
The Message property can contain a value by default in some circumstances;
for example, if AppointmentRecurrence is set to generate occurrences that would begin
or end at a time that is outside the range defined by the associated CalendarInfo's
The Message property can be set to any non-empty string value, which is then displayed in a MessageBox, regardless of whether any of the
Note: This overload will not throw an exception if the specified date does not match the
Only the date component of the specified 'originalStartDate' is used for the search.
The AppointmentsCollection contains a reference to all the
The
When the contents of the
Note: The
Note: The ResumeSort method must be called after the
Note: A parameterless constructor is required for all derived classes.
Since this event is being fired before the selection change has actually taken place, the contents of the collection returned by this property may be compared against the
Since this event is being fired before the selection change has actually taken place, the contents of the collection returned by this property may be compared against the
Since this event is being fired before the selection change has actually taken place, the contents of the collection returned by this property may be compared against the
Returns a
Returns a
Returns a
Returns a
Since this event is being fired before the selection change has actually taken place, the contents of the collection returned by this property may be compared to the
If the
The dialog will only be displayed if MaxSelectedDays was exceeded.
If the
If the
Note: The
If the IsExistingAppointment returns false, the Appointment referenced by the
Note: This property is only applicable when the
When the
When the
The Message property can contain a value by default in some circumstances; for example, if an appointment's
The Message property can be set to any non-empty string value, which is then displayed in a MessageBox, regardless of whether any of the
Note: The Message property is not applicable if the
The
By default, the
The AppointmentEditor property is available only at runtime.
By default, the
The AppointmentEditorComponent property cannot be set to a component that does not implement the
The AppointmentsDragging event notifies a listener during all phases of an appointment drag operation.
The
If this event is not canceled, the
Appointments can be dragged to another control by canceling the AppointmentsDragging event, and calling the DoDragDrop method on the schedule control from which the appointments are being dragged. Note that the drop target control must in this case have its AllowDrop property set to true, and the developer must also handle its DragDrop event in order to process the data.
The AppointmentsResizing event notifies a listener during all phases of an appointment resize operation.
The
If this event is not canceled, the
The AppointmentsDragDrop event notifies a listener than the user has completed a drag operation involving one or more appointments, and that the drag operation was not canceled.
The AppointmentResized event notifies a listener than the user has completed an appointment resizing operation, and that the operation was not canceled.
The
When the drag operation is initiated, the NewDateTime and
During the lifetime of the drag operation, the Appointments property returns the same instances
as the appointments contained within the
Note: It is strongly recommended that the appointments contained within this collection
not be removed from their owning
A return value of 'Beginning' indicates that this is the first firing of the event
for the associated operation; a value of 'Moving' indicates that the operation
is currently underway, and the user has moved the cursor to a different
To support legacy behavior, the AllowOwnerChange property defaults to true.
To support legacy behavior, the AllowCopy property defaults to true.
When the
When the drag operation is initiated, the NewOwner and
When the MoveCursor property is not explicitly set, the default "drag" cursor is displayed.
When the CopyCursor property is not explicitly set, the default "drag copy" cursor is displayed.
A return value of 'Beginning' indicates that this is the first firing of the event
for the associated operation; a value of 'Moving' indicates that the operation
is currently underway, and the user has moved the cursor to a different
This property is only applicable when the
To support legacy behavior, this property defaults to 'ClearExistingSelection' for the
The Appointments property returns a read-only collection consisting of
the actual appointments that were dragged, with start and end times
that reflect the result of the drag operation.
The
To support legacy behavior, the
The CopiedAppointments collection returns a null reference when the
When the
The CopiedAppointments property returns a read-only collection consisting of
clones of the appointments that were dragged, with the same start and end times
as the original appointments. The
To support legacy behavior, the
The HasCopies property basically indicates whether the Control key was pressed at the time
the event was fired, and the
To support legacy behavior, this property defaults to false for all controls.
The NAS2004 Volume 3 release of UltraWinSchedule includes support for data binding the UltraCalendarInfo component's Notes collection.
The Notes collection can be populated from the contents of any IList implementor, for example, a DataTable. To identify the names of the members
that contain the property values for each Note object, the
Because of a confirmed bug in the
If, for example, the DateMemberSerializationMode property is set to 'SerializeDatesAsUniversalTime', and an
By setting the
Note that the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
When the
Use this property to determine if an
Use this property to determine if an
Use this property to determine if an
The SpinButtonIncrement determines the units of change applied to the value when a spin button is pressed. The units can be days, weeks, months, and year. The number of these increments that are applied to the value is determined by the
Note: The Value may still be incremented by the value even when the spin buttons are not visible since by default the up and down arrow keys are interpretted as an increment using the spin buttons when the control is not dropped down.
When clicking the up spin arrow or using the up arrow key, a positive number of the SpinButtonIncrementValues are applied. When clicking the down spin button or using the down arrow key when the control is not dropped down will apply a negative amount of those units.
The BeforeDropDown event can be canceled; when this happens, the dropdown list is not displayed, and the
The TimeRange class encapsulates a range of time through two simple properties,
The
The
The value of the
Because the value of the
When formatting the start and end times for display, the current culture's LongTimePattern is used to derive the pattern; the "s" components are then removed to eliminate the seconds component from the displayed string.
Given two different TimeRange instances, one named "a" and the other named "b", each with the same values for their StartTime and EndTime properties, the expression, "a == b" will evaluate to false, i.e., the TimeRange object maintains reference identity. The IsSameAs method makes it possible to determine whether two different TimeRange instances are logically the same.
The end time of a
The value of the EndTime property is considered to be exclusive, meaning that
the time range does not include that actual value, but rather all points in
time from the
The OwnerTimeSlotSettings class is the base class from which the
The
The
The
When the IsWorkDay property is explicitly set to a value other than 'Default',
that setting takes precedence over the value of the
When the IsWorkDay property is explicitly set to false, the contents of the
Since the IsWorkday property is exposed by several different classes, it is possible to define workdays at various different levels, i.e., for a specific date, a day of the week, or based on a recurring date pattern. The following table details order of precedence in the property resolution process for the IsWorkDay property:
| Order of precedence | Resolved value |
|---|---|
| 1) |
If the Owner's DateSettings collection contains an entry for the date to be resolved, that entry is evaluated. If it does not, the resolution process proceeds to the next level. If IsWorkDay is explicitly set, that value takes precedence over all other levels of the property resolution hierarchy. A TimeSlot displayed for the corresponding date will exhibit the non-working hour appearance if the property is set to false, or the working hour appearance if the property is set to true and the TimeSlot is determined to fall within working hours. |
| 2) |
If the Owner's RecurringDateSettings collection contains one or more members, each one is examined to determine whether the date to be resolved
coincides with the recurrence pattern defined by the Recurrence property. If it does not, the resolution process proceeds to the next level.
If IsWorkDay is explicitly set, that value takes precedence over the remaining levels of the property resolution hierarchy.
A TimeSlot displayed for a date on which there is an occurrence will exhibit the non-working hour appearance if the property is set to false,
or the working hour appearance if the property is set to true and the TimeSlot is determined to fall within working hours.
Note that in the case where more than one recurrence generates an occurrence for the same date, precedence for that date is given to the instance closest to the beginning of the collection. For this reason it is recommended that when using multiple recurrences to define workdays, the recurrence that generates occurrences at the lowest frequency should be positioned closest to the beginning of the collection. For example, consider two recurrences, one (monthly) that occurs on "the first Monday of each month" whose IsWorkDay property is set to false, and another (daily) that occurs "every weekday" whose IsWorkDay property is set to true. The one that occurs monthly should be inserted at the beginning of the collection, and the daily one after it, otherwise (since the first Monday of the month is also a weekday) the first Monday of the month will resolve through the daily recurrence, and IsWorkDay will resolve to true, where the intent was to resolve it to false. |
| 3) |
The member of the DayOfWeekSettings collection which corresponds to the date to be resolved is referenced; if the IsWorkDay property is explicitly set, that value takes precedence over the remaining levels of the property resolution hierarchy. A TimeSlot displayed for the corresponding day of the week will exhibit the non-working hour appearance if the property is set to false, or the working hour appearance if the property is set to true and the TimeSlot is determined to fall within working hours. |
| 4) |
This is the final level of the property resolution hierarchy. If no other player in the resolution chain had a specific setting, this value makes the final determination. By default, all days except Saturday and Sunday are considered to be workdays. This setting applies to all owners. A TimeSlot displayed for the corresponding day of the week will exhibit the non-working hour appearance if the property is set to false, or the working hour appearance if the property is set to true and the TimeSlot is determined to fall within working hours. |
The WorkingHours property makes it possible to designate multiple, discontiguous ranges of time as working hours for a particular date. For example, adding 2 TimeRange instances to the list, one for 9AM to 12PM, and another for 1PM to 5PM, would define the working hours for that date such that 12PM to 1PM would remain in the non-working hour range.
When the WorkingHours collection is non-empty, its contents fully describe
the working hours for the associated date/day of the week and
It should be noted that no
Since the WorkingHours collection is exposed by several different classes, it is possible to define working hours at various different levels, i.e., for a specific date, a day of the week, or based on a recurring date pattern. The following table details order of precedence in the property resolution process for the WorkingHours collection:
| Order of precedence | Resolved value |
|---|---|
| 1) |
If the Owner's DateSettings collection contains an entry for the date to be resolved, that entry is evaluated. If it does not, the resolution process proceeds to the next level. If explicitly populated, the contents of this collection takes precedence over all other levels of the property resolution hierarchy. If the WorkingHours collection contains one or more TimeRanges, a TimeSlot displayed for the corresponding date will exhibit the working hour appearance if the TimeSlot intersects with any of those TimeRanges, and will exhibit the non-working hour appearance otherwise. |
| 2) |
If the Owner's RecurringDateSettings collection contains one or more members, each is examined to determine whether the date to be resolved
coincides with the recurrence pattern defined by the Recurrence property. If it does not, the resolution process proceeds to the next level.
If explicitly populated, the contents of this collection takes precedence over remaining levels of the property resolution hierarchy.
If the WorkingHours collection contains one or more TimeRanges, a TimeSlot displayed for the corresponding date will exhibit the
working hour appearance if the TimeSlot intersects with any of those TimeRanges, and will exhibit the non-working hour appearance
otherwise.
Note that in the case where more than one recurrence generates an occurrence for the same date, precedence for that date is given to the instance closest to the beginning of the collection. For this reason it is recommended that when using multiple recurrences to define working hours, the recurrence that generates occurrences at the lowest frequency should be positioned closest to the beginning of the collection. For example, consider two recurrences, one (monthly) that occurs on "the first Monday of each month" whose working hours are defined as 10AM - 2PM, and another (daily) that occurs "every weekday" whose working hours are defined as 9AM - 3PM. The one that occurs monthly should be inserted at the beginning of the collection, and the daily one after it, otherwise (since the first Monday of the month is also a weekday) the first Monday of the month will resolve through the daily recurrence, and the working hours will resolve as 9AM - 3PM, where the intent was to resolve them as 10AM - 2PM. |
| 3) |
The member of the DayOfWeekSettings collection which corresponds to the date to be resolved is referenced; if the WorkingHours collection is explicitly populated, its contents take precedence over all other levels of the property resolution hierarchy. A TimeSlot displayed for the corresponding date will exhibit the working hour appearance if the TimeSlot intersects with any of those TimeRanges, and will exhibit the non-working hour appearance otherwise.
If the WorkingHours collection is empty, the |
| 4) |
This is the final level of the property resolution hierarchy. If no other player in the resolution chain had a specific setting, this
object makes the final determination. A TimeSlot displayed for this day of the week will exhibit the working hour appearance if the TimeSlot intersects
with the range of time defined by the |
Appearance properties are exposed by the
A
Since the TimeRangeAppearances collection is exposed by several different classes, it is possible to define appearances at various different levels, i.e., for a specific date, a day of the week, or based on a recurring date pattern. The following table details order of precedence in the property resolution process for the TimeRangeAppearances collection:
| Order of precedence | Resolved value |
|---|---|
| 1) |
If the Owner's DateSettings collection contains an entry for the date to be resolved, that entry is evaluated.
If it does not, the resolution process proceeds to the next level.
If the TimeRangeAppearances collection is non-empty, and a member exists whose
|
| 2) |
If the Owner's RecurringDateSettings collection contains one or more members, each is examined to determine whether the date to be resolved
coincides with the recurrence pattern defined by the Recurrence property. If it does not, the resolution process proceeds to the next level.
If the TimeRangeAppearances collection is non-empty, and a member exists whose
Note that in the case where more than one recurrence generates an occurrence for the same date, precedence for that date is given to the instance closest to the beginning of the collection. For this reason it is recommended that when using multiple recurrences to define working hours, the recurrence that generates occurrences at the lowest frequency should be positioned closest to the beginning of the collection. |
| 3) |
This is the final level of the property resolution hierarchy.
The member of the DayOfWeekSettings collection which corresponds to the date to be resolved is referenced;
if the TimeRangeAppearances collection is non-empty, and a member exists whose
|
The OwnerRecurringDateSettings class makes it possible to specify workdays, working hours, and time range appearances,
for a regularly recurring pattern of dates. It uses the same recurrence engine as that which controls
When a TimeRange is added to this collection, the range is checked against existing instances; if a range is found with which the new range intersects, the two are effectively merged together, resulting in modification of the exsiting instance to include the new range. In this case, the instance passed to the Add method is not added to the collection, and the existing instance is returned.
The contents of this collection are always maintained in chronological order, i.e., when a new
instance is added, the collection is sorted by the value of the TimeRange's
If the values of the
If the
The members of this collection are stored in a generic dictionary. It supports iteration via a generic IEnumerable implementation for OwnerDateSettings instances, but its members have no notion of an ordinal position within the collection.
Specifying a
The contents of this collection are always maintained in chronological order, i.e., when a new
instance is added, the collection is sorted by the value of the associated TimeRange's
Unlike the
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraWinSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the component's Appearances collection and assign it some values as follows:
UltraMonthViewSingle1.Appearances.Add "New1"
UltraMonthViewSingle1.Appearances("New1").BorderColor = Color.Blue
UltraMonthViewSingle1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraMonthViewSingle1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraMonthViewSingle1.Appearance.ForeColor = UltraMonthViewSingle1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.
Note: When the
Also note that setting the value of the WorkDayStartTime property to a value that is outside the range defined by the logical day properties will result in the value being forced to coincide with the beginning of the logical day.
Note: When the
Also note that setting the value of the WorkDayEndTime property to a value that is outside the range defined by the logical day properties will result in the value being forced to coincide with the end of the logical day.
The
A DayOfWeekSettings object for each of the seven days of the week can be obtained from the
When the
Also note that setting the value of the WorkDayStartTime property to a value that is outside the range defined by the logical day properties will result in the value being forced to coincide with the beginning of the logical day.
Note: The date components of the WorkDayStartTime property are not applicable, as the property defines a time of day that is independent of any particular date.
The WorkDayStartTime and
Note: For a detailed explanation of the order of precedence used when resolving working hours and time slot appearances, refer to the
When the
Also note that setting the value of the WorkDayEndTime property to a value that is outside the range defined by the logical day properties will result in the value being forced to coincide with the end of the logical day.
Note: The date components of the WorkDayEndTime property are not applicable, as the property defines a time of day that is independent of any particular date.
The WorkDayEndTime and
Note: For a detailed explanation of the order of precedence used when resolving working hours and time slot appearances, refer to the
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraWinSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the component's Appearances collection and assign it some values as follows:
UltraMonthViewSingle1.Appearances.Add "New1"
UltraMonthViewSingle1.Appearances("New1").BorderColor = Color.Blue
UltraMonthViewSingle1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraMonthViewSingle1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraMonthViewSingle1.Appearance.ForeColor = UltraMonthViewSingle1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.
Do NOT call the Dispose method on the graphics object returned from this method.
Instead, each call to this method should be paired with a call to
During graphics caching calls to
Do NOT call the Dispose method on the graphics object returned from
During graphics caching calls to
The notes included will be limited to that of the most specific date related trifold section. For example, if a daily section and a monthly section is included, only the notes for the day that is rendered on the page are included in the CalendarInfoNotesArea section.
Note: The RecurrenceDialog was originally designed to provide a front end
through which properties of an
An instance of this dialog that was created with this overload does not
trigger the
This property is only valid when the dialog was created with an
Note: This property is only valid when the dialog has been closed and the dialog session was not canceled.
When this dialog was created with an
Note: The RecurrenceEditTypeDialog is displayed for members of a recurrence when the
Note: The specified
If
Otherwise, either the date or owner is compared.
The UltraTimelineView control derives from
Use this method to determine if the
Use this method to determine if the
Specifying null for the value of the
When the selected date/time range is cleared, the
The ActiveOwner property determines which owner has the input focus.
Clicking on an
The ActiveOwner property is available only at runtime.
The
When one or more members exist in the AdditionalIntervals collection, multiple date/time intervals are displayed. They appear from top to bottom in order of descending duration, i.e., the time intervals with longer durations appear above those whose duration is shorter. When two or more DateTimeIntervals are identical in duration, their ordinal position within the collection determines their placement (a smaller index places a TimeInterval closer to the bottom).
Note: DateTimeIntervals that generate cycles which are shorter in duration
that those generated by the PrimaryInterval are not displayed. The control compares
the duration of the cycles generated by DateTimeIntervals by comparing the length of
time spanned by the each one's
An simple example of the usage of the AdditionalIntervals collection would be the case
where the PrimaryInterval defines a cycle that is one day in duration, and the developer
wants to group the days in monthly intervals. To achieve this, a
A collection of the members of the AdditionalIntervals collection that are actually
displayed, along with the PrimaryInterval, is available via the
By default, the left edge of the activity UIElement is offset from the beginning of the date/time slot with which the associated activity's start date/time intersects, by an amount that is proportional to the difference between the start date/time and the time of the beginning of that cycle. The right edge is offset from the end of the date/time slot in the same manner, based on the difference between the end date/time and the end of the cycle. The AlignActivityWithPrimaryInterval property prevents this, causing the left and right edges of the activity UIElements to be aligned with the edges of the date/time slots with which they intersect.
When the ActivityHeight property is not explicitly set, the height
is automatically determined based on the height of the font obtained
by resolving the
Note: An appointment on which the
By default, appointments can be dragged from one owner to another. To allow dragging of appointments within the same owner, set the AppointmentDragMode property to 'WithinSameOwner'; to disallow appointment dragging altogether, set it to 'NotAllowed'.
Whether an appointment can be dragged to a particular owner can also be controlled
by handling the
Note: An appointment on which the
By default, an appointment's
When appointments are displayed, the placement of each appointment is
determined by its ownership in conjunction with the value of the
Note: When the associated
The AutoAppointmentCreate is realized though an entry in the
Note: The ColumnAutoSizing property is not applicable when the
A
The event arguments used for the
The default value for the ColumnHeaderImageSize property is Size.Empty, which resolves to a size of (16 x 16).
In the absence of an explicit setting, column header images are displayed at a size of (16W x 16H).
When the horizontal scrollbar is visible, it can be used to navigate
along the timeline. The control's
The horizontal scrollbar reflects and controls the first visible date and time displayed
by the control. Navigational buttons can be made to appear on the headers generated by the
additional intervals, but not the
The UltraTimelineView control can be configured to display various different time intervals nested within one another, but only the columns whose headers reside in the bottom row provide resizing capability. The ColumnSizing property determines whether the width of these columns can be changed via the user interface, and whether the user can initiate this change from the headers, time slot borders, or both.
The UltraTimelineView control can be configured to display various
different time intervals nested within one another, but the ColumnWidth
property only applies to the headers that are generated by the
The headers generated by the PrimaryInterval are always the width specified by this property.
The width of the headers generated by the members of the
The CurrentState property is used when a keystroke is processed through the
By default, a holiday's
By default, holidays are only displayed for the UnassignedOwner, since holidays have no concept of ownership and displaying them for all owners can be redundant. The HolidayVisibility property can be used to change how holidays are displayed.
Because the UltraTimelineView control supports a variable graphical width for the time slots which represent the time intervals, the number of pixels to which each unit of time is equal can be a non-integral quantity. For this reason, scroll units are presented to the end developer as TimeSpans, so that the developer has control over the precise amount of time by which the viewport is shifted when the user scrolls the control.
By default, the control scrolls by one cycle of the primary interval with each click
of the scroll buttons, and by one logical page with each click of the scroll track.
The properties of the HorizontalScrollSettings object can be used to change this.
For example, given a primary interval that generates fifteen-minute cycles, setting the
The following table lists the default key mappings for the
| KeyCode | ActionCode | StateRequired | StateDisallowed | SpecialKeysRequired | SpecialKeysDisallowed |
|---|---|---|---|---|---|
| Home | FirstVisibleOwner | MultipleOwners | AppointmentEditing | Ctrl | AltShift |
| End | LastVisibleOwner | MultipleOwners | AppointmentEditing | Ctrl | AltShift |
| Up | PreviousVisibleOwner | MultipleOwners | AppointmentEditing | 0 | All |
| Down | NextVisibleOwner | MultipleOwners | AppointmentEditing | 0 | All |
| Next | PageDown | NonVisibleOwners | AppointmentEditing | 0 | All |
| PageUp | PageUp | NonVisibleOwners | AppointmentEditing | 0 | All |
| Home | SelectDateTimeRangeFirst | None | ActivitySelected | 0 | All |
| End | SelectDateTimeRangeLast | None | ActivitySelected | 0 | All |
| Left | SelectDateTimeRangePrevious | DateTimeRangeSelected | ActivitySelected | 0 | All |
| Left | SelectDateTimeRangePreviousFromActivity | ActivitySelected | AppointmentEditing, DateTimeRangeSelected | 0 | All |
| Right | SelectDateTimeRangeNextFromActivity | ActivitySelected | AppointmentEditing, DateTimeRangeSelected | 0 | All |
| Right | SelectDateTimeRangeNext | DateTimeRangeSelected | ActivitySelected | 0 | All |
| Left | ExtendSelectedDateTimeRangeBackward | DateTimeRangeSelected | ActivitySelected | Shift | AltCtrl |
| Right | ExtendSelectedDateTimeRangeForward | DateTimeRangeSelected | ActivitySelected | Shift | AltCtrl |
| Return | AutoCreateAppointment | DateTimeRangeSelected, AutoAppointmentCreate | ActivitySelected, ActiveOwnerLocked | 0 | All |
| Space | AutoCreateAppointment | DateTimeRangeSelected, AutoAppointmentCreate | ActivitySelected, ActiveOwnerLocked | 0 | All |
| F2 | EnterEditMode | SingleAppointmentSelected | AppointmentEditing, ActiveOwnerLocked | 0 | All |
| Return | ExitEditModeSave | AppointmentEditing | None | 0 | All |
| F2 | ExitEditModeSave | AppointmentEditing | None | 0 | All |
| Escape | ExitEditModeCancel | AppointmentEditing | None | 0 | All |
| Delete | DeleteSelectedAppointments | OnlyAppointmentsSelected | AppointmentEditing | 0 | All |
| Tab | SelectNextActivity | TabKeyNavigatesNext | AppointmentEditing | 0 | All |
| Tab | SelectPreviousActivity | TabKeyNavigatesPrevious | AppointmentEditing | Shift | AltCtrl |
| Tab | SelectFirstActivity | TabKeyNavigatesNext | AppointmentEditing, ActivitySelected | 0 | All |
| Tab | SelectLastActivity | TabKeyNavigatesPrevious | AppointmentEditing, ActivitySelected | Shift | AltCtrl |
| Right | ScrollHorizontalForward | None | AppointmentEditing | Ctrl | AltShift |
| Left | ScrollHorizontalBackward | None | AppointmentEditing | Ctrl | AltShift |
| Up | ScrollVerticalUp | None | AppointmentEditing | Ctrl | AltShift |
| Down | ScrollVerticalDown | None | AppointmentEditing | Ctrl | AltShift |
Most of the actions listed herein can be performed programmatically using the
When the
As a convenience to the developer, the OwnerGroupingStyle property resolves
to 'Separate' when the associated UltraCalendarInfo's
A
Under the Office2007
The default value for the OwnerHeaderImageSize property is Size.Empty, which resolves to a size of (16 x 16).
In the absence of an explicit setting, owner header images are displayed at a size of (16W x 16H).
By default, owner headers are displayed when the
The text displayed on an Owner's header can be oriented horizontally, vertically,
or diagonally using the same
In the absence of an explicit setting, owner header text is displayed with a vertical orientation, with the left edge of the characters facing down, and the bottom edge facing left.
When the
The MaximumOwnersInView property determines the number of owners that will be displayed, thus determining the amount of vertical space available in which to display each Owner's activities.
When not explicitly set, the MaximumOwnersInView property resolves to two, or less if there are
less than two visible owners to be displayed. This resolved value is returned by the
In situations where the cycles generated by the
Note: The Seconds and Milliseconds components of the specified value, if any are present, are stripped out at the time of assignment. UltraTimelineView does not recognize units of time that span less than one minute in duration.
When the MinimumActivityDuration property is left at its default value of TimeSpan.Zero, that value is returned; this value should be interpreted by callers as infinite, i.e., no minimum constraint is in effect.
The MinimumAppointmentResizeDuration property provides a way for the developer to
prevent the user from resizing an Appointment to a duration of less than some
predetermined value. This prevents the need to handle the
Note: The Seconds and Milliseconds components of the specified value, if any are present, are stripped out at the time of assignment.
When the MinimumAppointmentResizeDuration property is left at its default value,
the span of time defined by the
The MinimumColumnResizeWidth provides a way for the end developer to prevent the column headers
(and by extension, the time slots) from being sized any smaller than some predetermined value.
For example, the property could be set to the value of the
As the control is resized by the user, more or less vertical space becomes available in which to display the owner rows. The MinimumRowResizeHeight property does not affect this, i.e., the value of the MaximumOwnersInView property is not negotiated to enforce the value of the MinimumRowResizeHeight property. The MinimumRowResizeHeight is only used during a user resize operation, to prevent the rows from being resized smaller than a given value, in essence preventing the value of the MaximumOwnersInView property from becoming so large that each owner does not have a reasonable amount of vertical space.
To change the number of owners displayed within the viewable area of the
control, use the
Under the Office2007
Note: Hiding the owner scrollbar does not prevent the user from navigating amongst the visible owners, it only prevents the scrollbar from appearing.
The PrimaryInterval property defines the interval for the areas of the control in
which activities are displayed. It is always displayed on the bottom row of column
headers. The amount of time spanned by each
While any of the members of the
The PrimaryInterval property can be set to null, but the property will never return
a null value, i.e., a default instance is maintained to ensure that at least one time
interval is defined for the control at all times. This instance is of type
When the PrimaryInterval property is assigned a new value, or the
Non-contiguous selection of dates and times is not supported; as such, no property exists through which the developer can change the selection strategy used for date/time selection.
Since non-contiguous selection of dates and times is not supported, a single object can fully represent the current selection. The SelectedDateTimeRange property returns the start and end of the range, which can span across multiple days.
The date/time selection can be programmatically changed by calling the
Note: When the SelectedDateTimeRange is cleared, this property will subsequently
return null, until a range is explicitly set. The date/time selection can be cleared
programmatically by calling the ClearSelectedDateTimeRange method; it is also cleared
when the user selects an
The SelectedDateTimeRange property is available only at runtime. Its default value is null; no date/time selection is depicted until the user selects a range or the value is programmatically set.
Under the Office2007
By default, the UltraTimelineView control will navigate to the date of the
The UIElement property returns the
The range of time displayed by the control is determined in part by the
Under the Office2007
Working hours can be defined differently for each
When the amount of vertical space available in which to display appointments and holidays
is less than that required to display all of the visible activity for the currently visible
date/time range, up/down facing triangular buttons appear within the
The size of the buttons defaults to (12 x 12). This can be changed for all UltraTimelineView instances
by directly setting the static
The tab key navigation functionality is realized through entries that exist by default in the
To make it easier for the end developer to customize the tooltip behavior,
the AppointmentToolTipDisplaying fires whenever the user hovers over an
The
To make it easier for the end developer to customize the tooltip behavior,
the HolidayToolTipDisplaying fires whenever the user hovers over an
The
The PrimaryIntervalChanged event fires when a
The AppointmentUIElement class encapsulates an appointment's physical representation for the
The appointment's
The height of the AppointmentUIElement is determined by the
Whether an AppointmentUIElement displays a color bar is determined by the
The application styling role name for the AppointmentUIElement is ScheduleAppointment.
Appointments whose
The AppointmentUIElement class encapsulates a holiday's physical representation for the
The application styling role name for the HolidayUIElement is ScheduleHoliday. A style can be applied to both appointments and holidays alike using the ScheduleActivity role.
Whether this element appears is determined by the
The ActivityScrollButtonUIElement is displayed when the height of the
The base application styling role name for the ActivityScrollButtonUIElement is TimelineViewActivityScrollButtonBase. Up-facing buttons can be styled separately using the TimelineViewActivityScrollButtonUp role; Down-facing buttons can be styled separately using the TimelineViewActivityScrollButtonDown role.
When the
When the
The appointment
The ActivityAreaUIElement contains the following child elements:
The OwnerUIElement represents an
The OwnerUIElement contains the following child elements:
The Application Styling role for this element is named ScheduleOwner.
The application styling role name for the OwnerUIElement is ScheduleOwner. As the element is primarily a container for other elements, only background-related properties are applicable.
This element contains the following child elements:
There is no Application Styling role defined for this element; it has no visual UI presence.
This element contains the following child elements:
There is no Application Styling role defined for this element; it has no visual UI presence.
By default, the start and end dates are separated by a dash ("-") character,
with a space character before and after it. To change the separator characters,
use the
For the developer's convenience, the value of the EndDateTime property actually represents the exclusive end of the range, i.e., the range is defined as all points in time that are greater than or equal to the value of the StartDateTime property, and less than the value of the EndDateTime property.
By default, the SelectedDateTimeRange is cleared when a new
By default, changing the value of the ActiveOwner property results in a clearing of the
By default, changing the value of the ActiveOwner property results in a clearing of the
It is highly recommended that
If the AppearanceData property has not been explicitly set, it returns null. No instance is "lazily" created, so as to prevent unnecessary object instantiation.
By default, the control scrolls by one cycle of the primary interval with each click
of the scroll buttons. The SmallChange property can be used to change this behavior.
For example, given a primary interval that generates fifteen-minute cycles, setting the
Since the number of pixels required to represent a unit of time can be a non-integral value, the SmallChange property is expressed as a TimeSpan rather than an integer representing a discreet number of pixels.
By default, the control scrolls by one logical page with each click on the scroll track. The LargeChange property can be used to change this behavior.
Since the number of pixels required to represent a unit of time can be a non-integral value, the LargeChange property is expressed as a TimeSpan rather than an integer representing a discreet number of pixels.
The application styling role name for the OwnerHeaderUIElement is ScheduleOwnerHeader. The base application styling role name for the ColumnHeaderUIElement is TimelineViewColumnHeaderBase; individual roles exist corresponding to each of the supported time intervals as well:
The ColumnHeaderUIElement encapsulates a cycle that is generated by either the
The caption displayed by the header can represent either a distinct date/time, or a range of time.
The associated DateTimeInterval's
The caption can be further customized by handling the control's
The caption can be oriented horizontally, vertically, or diagonally depending on the value assigned to the
The width of the ColumnHeaderUIElements associated with the PrimaryInterval is determined by the
The base application styling role name for the ColumnHeaderUIElement is TimelineViewColumnHeaderBase; individual roles exist corresponding to each of the supported time intervals as well:
This element contains the following child elements:
The Application Styling role defined for this element is named ScheduleOwnerHeader.
The base application styling role name for the DateNavigationButtonUIElement is TimelineViewDateNavigationButton.
The application styling role name for the DateTimeIntervalLabelUIElement is TimelineViewDateTimeIntervalLabel.
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraWinSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the component's Appearances collection and assign it some values as follows:
UltraMonthViewSingle1.Appearances.Add "New1"
UltraMonthViewSingle1.Appearances("New1").BorderColor = Color.Blue
UltraMonthViewSingle1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraMonthViewSingle1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraMonthViewSingle1.Appearance.ForeColor = UltraMonthViewSingle1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the component's Appearances collection and assign it some values as follows:
UltraMonthViewSingle1.Appearances.Add "New1"
UltraMonthViewSingle1.Appearances("New1").BorderColor = Color.Blue
UltraMonthViewSingle1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraMonthViewSingle1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraMonthViewSingle1.Appearance.ForeColor = UltraMonthViewSingle1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.
Note: The BindingListIndex property is only applicable when the
Note: The BindingListObject property is only applicable when the
The
"Standalone" instances of the Outlook2007ColorScheme class can be created and assigned to an
The color properties exposed by the Outlook2007ColorScheme class are formulated by increasing or decreasing the brightness (or luminosity)
of the
Note: This color is the same as
Note: This color is the same as
Note: This color is the same as
Note: This color is the same as
Note: This color is the same as
Note: This color is the same as
Note: This color is the same as
The Outlook2007ColorSchemeCollection class contains fifteen instances of the
Note: If no color scheme exists which corresponds to the specified baseColor, an exception is thrown.
Note: This method can be used to mark a color scheme as reserved, so that it is removed from the pool of color schemes that can be selected when a color scheme is automatically assigned to an
Note: If no color scheme exists which corresponds to the specified baseColor, an exception is thrown.
Note: Because the differences between the 'Black' and 'Silver' color schemes are very minor for the Outlook controls, and in fact share the same
Note: Because the differences between the 'Black' and 'Silver' color schemes are very minor for the Outlook controls, and in fact share the same
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
When a value is assigned to this
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the component's Appearances collection and assign it some values as follows:
UltraMonthViewSingle1.Appearances.Add "New1"
UltraMonthViewSingle1.Appearances("New1").BorderColor = Color.Blue
UltraMonthViewSingle1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraMonthViewSingle1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraMonthViewSingle1.Appearance.ForeColor = UltraMonthViewSingle1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.
Use this property to determine if an
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the component's Appearances collection and assign it some values as follows:
UltraMonthViewSingle1.Appearances.Add "New1"
UltraMonthViewSingle1.Appearances("New1").BorderColor = Color.Blue
UltraMonthViewSingle1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraMonthViewSingle1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraMonthViewSingle1.Appearance.ForeColor = UltraMonthViewSingle1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.
Use this property to determine if an
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the component's Appearances collection and assign it some values as follows:
UltraMonthViewSingle1.Appearances.Add "New1"
UltraMonthViewSingle1.Appearances("New1").BorderColor = Color.Blue
UltraMonthViewSingle1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraMonthViewSingle1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraMonthViewSingle1.Appearance.ForeColor = UltraMonthViewSingle1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.
Use this property to determine if an
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the component's Appearances collection and assign it some values as follows:
UltraMonthViewSingle1.Appearances.Add "New1"
UltraMonthViewSingle1.Appearances("New1").BorderColor = Color.Blue
UltraMonthViewSingle1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraMonthViewSingle1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraMonthViewSingle1.Appearance.ForeColor = UltraMonthViewSingle1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.
Note: The owner's DayAppearance is only used by the
Note: The owner's DayAppearance is less specific than the associated
Use this property to determine if an
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the component's Appearances collection and assign it some values as follows:
UltraMonthViewSingle1.Appearances.Add "New1"
UltraMonthViewSingle1.Appearances("New1").BorderColor = Color.Blue
UltraMonthViewSingle1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraMonthViewSingle1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraMonthViewSingle1.Appearance.ForeColor = UltraMonthViewSingle1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.
Note: The owner's AlternateMonthDayAppearance is only used by the
Note: The owner's AlternateMonthDayAppearance is less specific than the associated
Use this property to determine if an
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the component's Appearances collection and assign it some values as follows:
UltraMonthViewSingle1.Appearances.Add "New1"
UltraMonthViewSingle1.Appearances("New1").BorderColor = Color.Blue
UltraMonthViewSingle1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraMonthViewSingle1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraMonthViewSingle1.Appearance.ForeColor = UltraMonthViewSingle1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.
Use this property to determine if an
With the NetAdvantage 2009 Volume 1 release, the
Note: For a detailed explanation of the order of precedence used when resolving working hours and time slot appearances, refer to the
The UltraCalendarInfo's
With the addition of multiple calendar support via the
The DateSettings collection provides a repository for a new class,
Note: For a detailed explanation of the order of precedence used when resolving working hours and time slot appearances, refer to the
Just as the
Note: For a detailed explanation of the order of precedence used when resolving working hours and time slot appearances, refer to the
In the case where the range to be printed is relatively large as compared
to the
The value of the AllowAdjustmentOfPrimaryInterval property defaults to true.
If
If
If
If
If
If
The SelectedTimeSlotRange object is exposed by the UltraDayView control via the
Rather than storing a collection of TimeSlot objects to represent the time slots that are curently selected, the SelectedTimeSlotRange object stores the start and end time of the selected range.
Note: When the value specified for the startDateTime parameter is chronologically later than the value of the endDateTime parameter, the values are reversed.
Note: When the value specified for the StartDateTime property is chronologically later than the existing value of the
Note: When the value specified for the EndDateTime property is chronologically less than the existing value of the
Time slots are exposed by the UltraDayView control via the
The number of time slots in the collection is determined by the
The non-working hour range is determined by looking at the
The working hour range is determined by looking at the
Time slots are exposed by the UltraDayView control via the
The number of time slots in the collection is determined by the
The
The UltraCalendarCombo provides a dropdown calendar similar to that of Outlook. The dropdown has an area for adding
The
The UltraMonthViewMultiBase is the base class for the
This routine is used by the selection methods for clearing the selected days.
For the
The UltraMonthViewMultiBase controls do not implement vertical scrolling.
This method will only be invoked if the mouse is outside the calendar area and the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Note: the ResolveScrollButtonAppearance method is obsolete; it has been replaced by the new
The existing
The existing
The existing
The MonthPopup provides an unobtrusive way to scroll a new month into view. The popup will remain open until the mouse button is released. If the mouse is released within the
The pre-week area is the area immediately to the left of the
The pre-week area will not be displayed if AllowWeekSelection and
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
If the
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
If the
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
If the
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
If the
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
By default, day of week headers are displayed above every
By default, a
By default
The ScrollButtonsVisible property has been replaced by the new
The scroll buttons are displayed in the top row of the
When set to true, the earliest
To determine whether a
The pre-week area is the area immediately to the left of the
The pre-week area will not be displayed if
The default behavior is for the control to size the
The MonthDimensions determines the number of rows and columns of
Note, for the
For the
The caption for the month headers displays the month name and year. The MonthHeaderCaptionStyle determines whether the
Note: When the current culture's YearMonthPattern does not include either the 'MMM' or 'MMMM' format specifiers, the MonthHeaderCaptionStyle property is not applicable.
The MonthHeaderPadding determines the amount of padding within the month header around the scroll buttons and caption. When set to -1, the control will use a default padding percentage.
When the width or height of the
The default arrangement of months within the control is to display the month from left to right for the number of columns dictated by the
Use this property to determine if an
The MonthPadding determines the amount of spacing around the weeks of a month in the
The height of the MonthPadding is only applied to the bottom of the weeks whereas the width is applied to both the left and right of the weeks displayed.
The control uses the font of the Appearance to calculate the size required to display each day since all months must be the same size. If this were not the case, the control's size would change (or the number of months displayed would change) as the user scrolled from month to month. Since the control can share a common
Note: When this property is set to false, the resolved font name and size from the specific object will be used but the size of the day, etc. will remain the same. Therefore, the information displayed may be clipped.
Use this property to determine if an
The UltraMonthViewMultiBase derived classes are designed to display multiple months in a consolidated form. Thus, they do not have space available for displaying the activity (
By default, the alternate month appearances (
Note: Because the control sizes itself according to the font size of its Appearance, certain aspects of the alternate month appearances are not applied to their associated elements.
Specifically, only the following properties are applied:
Note, if the control is set to show months based on its size, it is possible to have the control display no months so the
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular button style, buttons formatted with that style will be drawn using solid lines.
The MonthScrollButtonAppearance essentially replaces the existing
The
Use this property to determine if an
The month scroll buttons are displayed in the top row of the
The MonthScrollButtonsVisible property replaces the existing
The MonthScrollButtonsVisibleResolved property returns the value of the
The MonthScrollChange property behaves exactly the same as the
While the MonthScrollChange property applies specifically to the month scroll buttons, the
When the
The existing
The
Use this property to determine if an
The year scroll buttons are displayed in the top row of the
While the YearScrollChange property applies specifically to the year scroll buttons, the
When the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Raising an event invokes the event handler through a delegate.
The OnBeforeDisplayDayToolTip method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeDisplayDayToolTip in a derived class, be sure to call the base class's OnBeforeDisplayDayToolTip method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeMonthScroll method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeMonthScroll in a derived class, be sure to call the base class's OnBeforeMonthScroll method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterMonthScroll method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterMonthScroll in a derived class, be sure to call the base class's OnAfterMonthScroll method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnVisibleMonthsChanged method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnVisibleMonthsChanged in a derived class, be sure to call the base class's OnVisibleMonthsChanged method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeDisplayMonthPopup method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeDisplayMonthPopup in a derived class, be sure to call the base class's OnBeforeDisplayMonthPopup method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterDisplayMonthPopup method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterDisplayMonthPopup in a derived class, be sure to call the base class's OnAfterDisplayMonthPopup method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeDropDown method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeDropDown in a derived class, be sure to call the base class's OnBeforeDropDown method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterDropDown method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterDropDown in a derived class, be sure to call the base class's OnAfterDropDown method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterCloseUp method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterCloseUp in a derived class, be sure to call the base class's OnAfterCloseUp method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterDropDown method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterDropDown in a derived class, be sure to call the base class's OnAfterDropDown method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeSpin method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeSpin in a derived class, be sure to call the base class's OnBeforeSpin method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterSpin method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterSpin in a derived class, be sure to call the base class's OnAfterSpin method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnValueChanged method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnValueChanged in a derived class, be sure to call the base class's OnValueChanged method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnTextChanged method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnTextChanged in a derived class, be sure to call the base class's OnTextChanged method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforePerformAction method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforePerformAction in a derived class, be sure to call the base class's OnBeforePerformAction method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterPerformAction method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterPerformAction in a derived class, be sure to call the base class's OnAfterPerformAction method so that registered delegates receive the event.
Note: When the UltraCalendarCombo has focus, the edit portion cannot render a gradient background.
By default, weeks cannot be selected using the UltraCalendarCombo
By default, months cannot be selected using the UltraCalendarCombo
By default, the UltraCalendarCombo will allow the
Note, the AllowNull property cannot be set to false if the
Since the UltraCalendarCombo allows multiple selection (based on the
When AutoSelect is set to true (its default value), the control will automatically clear the current selection of the associated
Note: When the control's associated
The default value for the AutoSelectionUpdate property is false. When set to true, the control will automatically update the value of the control based on changes made to the
Since this property can conflict with the
The default value for this property is true. When set to true, the control's height cannot be changed. Instead the height is based on the resolved font for the control.
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraWinSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the control's Appearances collection and assign it some values as follows:
UltraCalendarCombo1.Appearances.Add "New1"
UltraCalendarCombo1.Appearances("New1").BorderColor = Color.Blue
UltraCalendarCombo1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraCalendarCombo1.Appearance = UltraCalendarCombo1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraCalendarCombo1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraCalendarCombo1.Appearance.ForeColor = UltraCalendarCombo1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraCalendarCombo1.Appearance = UltraCalendarCombo1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.
Use this property to determine if an
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
When the
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
When the
Use this property to determine if an
Use this property to determine if an
The DateButtons property returns a collection of
Note, the area will not be displayed if the
Since the UltraCalendarCombo control, via the
Use this property to determine if an
By default the dropdown portion of the control is aligned to the lower right edge of the dropdown. The DropDownAlignRight property can be set to false to allow the dropdown to be position based on the lower left edge of the control.
The dropdown portion rect may be adjusted if the dropdown would be clipped by positioning it based on the DropDownAlignRight.
The DroppedDown property can be used to determine if the control is currently droppdown down and can be used to force the control to dropdown.
This property is only available at runtime.
The format property is used to format the
When set to false, the default value, the control will not display a context menu when right clicking upon the control unless the
When set to true, the control will display the default context menu for a TextBox when right clicking upon the control, unless the
Note: The UseEditContextMenu property is not applicable when the
The Value property returns an object containing either a
The Value property may be bound to a database.
The SpinButtonIncrement determines the units of change applied to the value when a spin button is pressed. The units can be days, weeks, months, and year. The number of these increments that are applied to the value is determined by the
Note: The
When clicking the up spin arrow or using the up arrow key, a positive number of the SpinButtonIncrementValues are applied. When clicking the down spin button or using the down arrow key when the control is not dropped down will apply a negative amount of those units.
If true the spin buttons will wrap the value incremented/decremented based on its Min/Max value.
When set to -1, the control will use the default padding.
The NonAutoSizeHeight is the value that the control uses to initialize the height when the
The following table lists the default key mappings for the
| KeyCode | ActionCode | StateRequired | StateDisallowed | SpecialKeysRequired | SpecialKeysDisallowed |
|---|---|---|---|---|---|
| Left | PreviousDayKeepSelection | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | All | |
| Left | PreviousDay | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | Shift | AltCtrl |
| Right | NextDayKeepSelection | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | All | |
| Right | NextDay | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | Shift | AltCtrl |
| Up | SameDayInPreviousWeekKeepSelection | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | All | |
| Up | SameDayInPreviousWeek | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | Shift | AltCtrl |
| Down | SameDayInNextWeekKeepSelection | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | All | |
| Down | SameDayInNextWeek | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | Shift | AltCtrl |
| Home | FirstVisibleDayOfWeekKeepSelection | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | All | |
| Home | FirstVisibleDayOfWeek | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | Shift | AltCtrl |
| End | LastVisibleDayOfWeekKeepSelection | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | All | |
| End | LastVisibleDayOfWeek | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | Shift | AltCtrl |
| Home | FirstDayOfMonthKeepSelection | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed, ActiveDayIsFirstVisibleDayInMonth | Ctrl | AltShift |
| End | LastDayOfMonthKeepSelection | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed, ActiveDayIsLastVisibleDayInMonth | Ctrl | AltShift |
| Prior | SameDayInPreviousMonthKeepSelection | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | All | |
| Prior | SameDayInPreviousMonth | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | Shift | AltCtrl |
| Next | SameDayInNextMonthKeepSelection | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | All | |
| Next | SameDayInNextMonth | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | Shift | AltCtrl |
| Prior | FirstVisibleDayKeepSelection | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | Alt | ShiftCtrl |
| Prior | FirstVisibleDay | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | AltShift | Ctrl |
| Next | LastVisibleDayKeepSelection | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | Alt | ShiftCtrl |
| Next | LastVisibleDay | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | AltShift | Ctrl |
| Tab | CloseUp | MonthPopupDisplayed, DroppedDown | AltCtrl | ||
| Tab | PreviousControl | MonthPopupDisplayed, DroppedDown | Shift | AltCtrl | |
| Tab | NextControl | MonthPopupDisplayed, DroppedDown | All | ||
| Space | ToggleDaySelection | ActiveDay, VisibleMonths, DroppedDown | MonthPopupDisplayed | Ctrl | Alt |
| Escape | CloseMonthPopup | MonthPopupDisplayed | All | ||
| Escape | CancelCloseUp | DroppedDown | MonthPopupDisplayed | All | |
| Up | SpinUp | DroppedDown | All | ||
| Down | SpinDown | DroppedDown | All | ||
| Down | ToggleDropDown | Alt | ShiftCtrl | ||
| Up | ToggleDropDown | Alt | ShiftCtrl | ||
| Enter | ToggleDaySelection | DroppedDown | MonthPopupDisplayed, AutoCloseUp | All | |
| Enter | ToggleDaySelection | DroppedDown, AutoCloseUp | MonthPopupDisplayed | All | |
| Enter | UpdateValue | DroppedDown | All | ||
| F4 | ToggleDropDown | All |
The DateTimeFormatInfo property is the object used to parse and format the dates. If null, the current culture's date time format info will be used.
The BeforeDisplayDayToolTip event will not be fired if the
The BeforeDisplayDayToolTip event may be canceled using
The
The BeforeMonthScroll event may be canceled using
The
The number of visible months will change based on changes to the
If the
The BeforeDisplayMonthPopup event may be canceled using
The
The
The BeforeDropDown event is fired before the calendar dropdown has been displayed but after it has been initialized. It can be used to prevent the dropdown from displaying. This can be done by setting the
The ValidationError is invoked when the date entered cannot be parsed, a blank string is entered and
The BeforeSpin event is invoked when the
The AfterSpin event is fired after the
BeforePerformAction event gets fired before an action associated with a key action mapping is about to be performed. It is a cancelable event. When it's cancelled, UltraCalendarCombo will not perform the action for which this event was fired.
When the
The DateButton is a button displayed in the
Creates a new DateButton representing the Today button. The Today
A DateButton of type Custom will only be enabled if the
This property is only used for a DateButtonType.Custom type DateButton.
This property is read-only.
Since the
Since the
This class is never read-only and as such always returns false.
The DateButtons collection is not fixed so it always returns false.
Always returns a style of Infragistics.Win.UIElementBorderStyle.Raised.
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular button style, buttons formatted with that style will be drawn using solid lines.
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular button style, buttons formatted with that style will be drawn using solid lines.
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular button style, buttons formatted with that style will be drawn using solid lines.
The UltraCalendarComboUIElement contains one
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
The UltraCalendarInfo component centralizes all the date specific state information into a single component that can be referenced from all the UltraSchedule controls (
Use the
The
The
The component exposes collections for general date ranges (e.g.
For example, to disable all days in December of every year, you would use the following syntax:
[C#]
this.ultraCalendarInfo1.MonthsOfYear[12].Enabled = false;
[VB]
Me.UltraCalendarInfo1.MonthsOfYear(12).Enabled = False
The more specific object's settings takes precedence over the general setting so if you then wanted to enable all the days in December, 2001, you would use the following syntax:
[C#]
this.ultraCalendarInfo1.GetMonth(12, 2001).Enabled = true;
[VB]
Me.UltraCalendarInfo1.GetMonth(12, 2001).Enabled = True
The component also contains collections to maintain the group of selected objects (e.g.
If the
The
In order for a
Since the stream could contain other information, the stream should be positioned to the start of the UltraCalendarInfo information.
Since the stream could contain other information, the stream should be positioned to the location where the UltraCalendarInfo should start serializing its information.
When you pass CalendarInfoCategories.General, the following property settings are saved:
|
|
Since the stream could contain other information, the stream should be positioned to the location where the UltraCalendarInfo should start serializing its information.
When you pass CalendarInfoCategories.General, the following property settings are saved:
|
|
When you pass CalendarInfoCategories.General, the following property settings are saved:
|
|
When you pass CalendarInfoCategories.General, the following property settings are saved:
|
|
Since the stream could contain other information, the stream should be positioned to the location where the UltraCalendarInfo should start serializing its information.
|
|
Since the stream could contain other information, the stream should be positioned to the location where the UltraCalendarInfo should start serializing its information.
|
|
When you pass CalendarInfoCategories.General, the following property settings are saved:
|
|
When you pass CalendarInfoCategories.General, the following property settings are saved:
|
|
Since the stream could contain other information, the stream should be positioned to the start of the UltraCalendarInfo information.
This overload of the DisplayAppointmentDialog creates a new
This overload of the DisplayAppointmentDialog creates a new
This overload of the DisplayAppointmentDialog creates a new
For
For
Note, this may not be the
Returns the
The System.Globalization.Calendar's GetWeekOfYear method simply returns the number of weeks into the year that the date falls on. It does not seem to use the weekrule specified in the arguments. e.g. If the first day of week is sunday and the weekrule is Jan 1, then 12/31/2000 (Sunday) should return 1. Instead it returns 54 and 1/1/2001 (Monday) returns 1.
This routine returns the correct week number for the specified date based on the
Note, this may be a week for a year other than the year of the date. e.g. 12/31/2000, week rule of Jan 1, and week start of sunday will return 1 because this date falls into the first week of the year 2001.
The System.Globalization.Calendar's GetWeekOfYear method simply returns the number of weeks into the year that the date falls on. It does not seem to use the weekrule specified in the arguments. e.g. If the first day of week is sunday and the weekrule is Jan 1, then 12/31/2000 (Sunday) should return 1. Instead it returns 54 and 1/1/2001 (Monday) returns 1.
This routine returns the correct week number for the specified date based on the
Note, this may be a week for a year other than the year of the date. e.g. 12/31/2000, week rule of Jan 1, and week start of sunday will return 1 because this date falls into the first week of the year 2001.
Raising an event invokes the event handler through a delegate.
The OnCalendarInfoChanged method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnCalendarInfoChanged in a derived class, be sure to call the base class's OnCalendarInfoChanged method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnInitializeDay method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnInitializeDay in a derived class, be sure to call the base class's OnInitializeDay method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnInitializeWeek method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnInitializeWeek in a derived class, be sure to call the base class's OnInitializeWeek method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnInitializeMonth method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnInitializeMonth in a derived class, be sure to call the base class's OnInitializeMonth method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnInitializeYear method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnInitializeYear in a derived class, be sure to call the base class's OnInitializeYear method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterActiveDayChanged method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterActiveDayChanged in a derived class, be sure to call the base class's OnAfterActiveDayChanged method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeActiveDayChanged method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeActiveDayChanged in a derived class, be sure to call the base class's OnBeforeActiveDayChanged method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeDisplayAppointmentDialog method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeDisplayAppointmentDialog in a derived class, be sure to call the base class's OnBeforeDisplayAppointmentDialog method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterCloseAppointmentDialog method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterCloseAppointmentDialog in a derived class, be sure to call the base class's OnAfterCloseAppointmentDialog method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeDisplayAppointmentRecurrenceDialog method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeDisplayAppointmentRecurrenceDialog in a derived class, be sure to call the base class's OnBeforeDisplayAppointmentRecurrenceDialog method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterCloseAppointmentRecurrenceDialog method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterCloseAppointmentRecurrenceDialog in a derived class, be sure to call the base class's OnAfterCloseAppointmentRecurrenceDialog method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeDisplayReminderDialog method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeDisplayReminderDialog in a derived class, be sure to call the base class's OnBeforeDisplayReminderDialog method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterCloseReminderDialog method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterCloseReminderDialog in a derived class, be sure to call the base class's OnAfterCloseReminderDialog method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeInvokeAppointmentAction method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeInvokeAppointmentAction in a derived class, be sure to call the base class's OnBeforeInvokeAppointmentAction method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterInvokeAppointmentAction method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterInvokeAppointmentAction in a derived class, be sure to call the base class's OnAfterInvokeAppointmentAction method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeSelectedNotesChange method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeSelectedNotesChange in a derived class, be sure to call the base class's OnBeforeSelectedNotesChange method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterSelectedNotesChange method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterSelectedNotesChange in a derived class, be sure to call the base class's OnAfterSelectedNotesChange method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeSelectedHolidaysChange method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeSelectedHolidaysChange in a derived class, be sure to call the base class's OnBeforeSelectedHolidaysChange method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterSelectedHolidaysChange method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterSelectedHolidaysChange in a derived class, be sure to call the base class's OnAfterSelectedHolidaysChange method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeSelectedAppointmentsChange method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeSelectedAppointmentsChange in a derived class, be sure to call the base class's OnBeforeSelectedAppointmentsChange method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterSelectedAppointmentsChange method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterSelectedAppointmentsChange in a derived class, be sure to call the base class's OnAfterSelectedAppointmentsChange method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeAppointmentAdded method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeAppointmentAdded in a derived class, be sure to call the base class's OnBeforeAppointmentAdded method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterAppointmentAdded method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterAppointmentAdded in a derived class, be sure to call the base class's OnAfterAppointmentAdded method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeAppointmentRemoved method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeAppointmentRemoved in a derived class, be sure to call the base class's OnBeforeAppointmentRemoved method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterAppointmentRemoved method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterAppointmentRemoved in a derived class, be sure to call the base class's OnAfterAppointmentRemoved method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeNoteAdded method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeNoteAdded in a derived class, be sure to call the base class's OnBeforeNoteAdded method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterNoteAdded method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterNoteAdded in a derived class, be sure to call the base class's OnAfterNoteAdded method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeNoteRemoved method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeNoteRemoved in a derived class, be sure to call the base class's OnBeforeNoteRemoved method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterNoteRemoved method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterNoteRemoved in a derived class, be sure to call the base class's OnAfterNoteRemoved method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeHolidayAdded method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Holidays to Inheritors: When overriding OnBeforeHolidayAdded in a derived class, be sure to call the base class's OnBeforeHolidayAdded method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterHolidayAdded method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Holidays to Inheritors: When overriding OnAfterHolidayAdded in a derived class, be sure to call the base class's OnAfterHolidayAdded method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeHolidayRemoved method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Holidays to Inheritors: When overriding OnBeforeHolidayRemoved in a derived class, be sure to call the base class's OnBeforeHolidayRemoved method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterHolidayRemoved method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Holidays to Inheritors: When overriding OnAfterHolidayRemoved in a derived class, be sure to call the base class's OnAfterHolidayRemoved method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeSelectedDateRangeChange method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Holidays to Inheritors: When overriding OnBeforeSelectedDateRangeChange in a derived class, be sure to call the base class's OnBeforeSelectedDateRangeChange method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterSelectedDateRangeChange method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Holidays to Inheritors: When overriding OnAfterSelectedDateRangeChange in a derived class, be sure to call the base class's OnAfterSelectedDateRangeChange method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnValidateAppointment method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnValidateAppointment in a derived class, be sure to call the base class's OnValidateAppointment method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnValidateAppointmentRecurrence method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnValidateAppointmentRecurrence in a derived class, be sure to call the base class's OnValidateAppointmentRecurrence method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAppointmentDataInitialized method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAppointmentDataInitialized in a derived class, be sure to call the base class's OnAppointmentDataInitialized method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnOwnerDataInitialized method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnOwnerDataInitialized in a derived class, be sure to call the base class's OnOwnerDataInitialized method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAppointmentDataError method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAppointmentDataError in a derived class, be sure to call the base class's OnAppointmentDataError method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnOwnerDataError method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnOwnerDataError in a derived class, be sure to call the base class's OnOwnerDataError method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnNoteDataError method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnNoteDataError in a derived class, be sure to call the base class's OnNoteDataError method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnNoteDataInitialized method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnNoteDataInitialized in a derived class, be sure to call the base class's OnNoteDataInitialized method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeAlternateSelectedDateRangeChange method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Holidays to Inheritors: When overriding OnBeforeAlternateSelectedDateRangeChange in a derived class, be sure to call the base class's OnBeforeAlternateSelectedDateRangeChange method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterAlternateSelectedDateRangeChange method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Note to Inheritors: When overriding OnAfterAlternateSelectedDateRangeChange in a derived class, be sure to call the base class's OnAfterAlternateSelectedDateRangeChange method so that registered delegates receive the event.
Note: The location where the settings are stored varies depending on the configuration of the system running the application. Information about where these locations are is currently unavailable in Microsoft's MSDN Library.
Note: The location where the settings are stored varies depending on the configuration of the system running the application. Information about where these locations are is currently unavailable in Microsoft's MSDN Library.
Note: The location where the settings are stored varies depending on the configuration of the system running the application. Information about where these locations are is currently unavailable in Microsoft's MSDN Library.
By default, an
The BeforeActiveDayChanged event may be canceled using
The
The CalendarInfoChanged event fires whenever a property on the component or one of its subobjects changes. The
The event cannot be suppressed using the
The UltraCalendarInfo "lazily" creates days as needed to reduce overhead. Wherever possible, the controls use the date of a day for routines so as not to force the creation of day objects. When the
When the
When the
When the
An
The dialog may be displayed for a new or existing
The ValidateAppointment is invoked when the user attempts to save the changes made to an appointment via the
The BeforeDisplayReminderDialog event may be canceled using
The
If the ReminderDialog is already displayed, the
The BeforeInvokeAppointmentAction event may be canceled using
The
The BeforeSelectedNotesChange event may be canceled using
The
While the event is being invoked, the
The BeforeSelectedAppointmentsChange event may be canceled using
The
While the event is being invoked, the
The BeforeSelectedHolidaysChange event may be canceled using
The
While the event is being invoked, the
The BeforeSelectedDateRangeChange event may be canceled (by setting the
The
The
While the event is being invoked, the
The BeforeAlternateSelectedDateRangeChange event may be canceled (by setting the
The
The
While the event is in progress, the
The ValidateAppointmentRecurrence event is invoked when the user attempts to save the changes made to an appointment's recurrence via the
The actual number of
This property cannot be modified while the
By default, the
The
The default value for this property is Default which means that the FirstDayOfWeek used is based on the current system settings.
Notes, holidays and appointments are considered "activity".
The property cannot be changed during the
SelectTypeDay determines how
The property cannot be changed during the
When AllowAllDayEvents is set to false, any UltraDayView attached to this CalendarInfo will not display an AllDayEventArea. Also, the Appointment Dialog will not show an "All Day Event" CheckBox. The AllDayEvent proeprty of any appointments in the collection will be ignored and all Appointments will be displayed as though AllDayEvent were false.
The
The Tag property may be used to store information in the component. The component itself does use this data but will serialize it if it has been set.
The
This selection list is separate from and unrelated to the list returned by the
The AlternateSelectTypeDay property determines how
The property cannot be changed during the
The actual number of
This property cannot be modified while the
The ActiveDay can be thought of as the day which has the input focus. The month and week based controls whose
Note: When set to false, the 'Recurrence' button on the
Note: The location where the settings are stored varies depending on the configuration of the system running the application. Information about where these locations are is currently unavailable in Microsoft's MSDN Library.
Note: The location where the settings are stored varies depending on the configuration of the system running the application. Information about where these locations are is currently unavailable in Microsoft's MSDN Library.
Typically, the beginning of the day coincides with midnight (hour zero, minute zero). For some applications it can be useful to consider the beginning of the day to be at some other time; the LogicalDayOffset property makes this possible.
The value of the property is added (to the DateTime struct to which it is applied) via the DateTime struct's Add method.
The absolute value of the property setting must be no larger than 23 hours and 59 minutes, so that the offset is less than one full day. Setting the property to a value outside this range results in an exception being thrown.
Because the level of granularity with respect to time for the UltraCalendarInfo component is restricted to one minute, setting the property to a value that includes a seconds component will result in the seconds component being removed; for example, if the property is set to a value of 14 minutes and 59 seconds, the next time the property is accessed, it will return a value of 14 minutes, 0 seconds.
Typically, the length of a day is 24 hours; the LogicalDayDuration property makes it possible to shorten the logical length of the day.
The LogicalDayDuration property cannot be set to a value that is less than 1 minute or greater than 24 hours in duration; doing so will cause an exception to be thrown.
The UltraCalendarLook component centralizes the
The component exposes collections for applying general appearance information to dates (e.g.
For example, to change the backcolor of all days in December of every year, you would use the following syntax:
[C#]
this.ultraCalendarLook1.MonthsOfYearLook[12].DayAppearance.BackColor = Color.Red;
[VB]
Me.UltraCalendarLook1.MonthsOfYearLook(12).DayAppearance.BackColor = Color.Red
The more specific object's settings take precendence so if you then wanted to change the backcolor of all days in December of 2001, you would use the following syntax:
[C#]
this.ultraCalendarLook1.GetMonthLook(12, 2001).DayAppearance.BackColor = Color.Blue;
[VB]
Me.UltraCalendarLook1.GetMonthLook(12, 2001).DayAppearance.BackColor = Color.Blue
The component also contains Appearance properties to control the selected appearance of objects (e.g.
If the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
DayLook objects are "lazily" created as they are requested. If the
Since the
Since the
Since the stream could contain other information, the stream should be positioned to the start of the UltraCalendarLook information.
Since the stream could contain other information, the stream should be positioned to the location where the UltraCalendarLook should start serializing its information.
When you pass CalendarLookCategories.General, the following property settings are saved:
|
|
|
When you pass CalendarLookCategories.General, the following property settings are saved:
|
|
|
Since the stream could contain other information, the stream should be positioned to the start of the UltraCalendarLook information.
When you pass CalendarLookCategories.General, the following property settings are saved:
|
|
|
Since the stream could contain other information, the stream should be positioned to the location where the UltraCalendarLook should start serializing its information.
|
|
|
The resolution for the appearance of a specific month goes through a staged process using the most specific
The resolution for the appearance of a specific month goes through a staged process using the most specific
The resolution for the appearance of a specific month goes through a staged process using the most specific
The resolution for the appearance of a specific month's header goes through a staged process using the most specific
The resolution for the appearance of a specific month's header goes through a staged process using the most specific
The resolution for the appearance of a specific month's header goes through a staged process using the most specific
The resolution for the appearance of a specific day of week header goes through a staged process using the most specific
The resolution for the appearance of a specific day of week header goes through a staged process using the most specific
The resolution for the appearance of a specific day of week header goes through a staged process using the most specific
The resolution for the appearance of a specific day goes through a staged process using the most specific
The resolution for the appearance of a specific day goes through a staged process using the most specific
The resolution for the appearance of a specific day goes through a staged process using the most specific
The resolution for the appearance of a specific day goes through a staged process using the most specific
The resolution for the appearance of a specific day goes through a staged process using the most specific
The resolution for the appearance of a specific day header goes through a staged process using the most specific
The resolution for the appearance of a specific day header goes through a staged process using the most specific
The resolution for the appearance of a specific day header goes through a staged process using the most specific
The resolution for the appearance of a specific week header goes through a staged process using the most specific
The resolution for the appearance of a specific week header goes through a staged process using the most specific
The resolution for the appearance of a specific week header goes through a staged process using the most specific
The resolution for the appearance of a specific week goes through a staged process using the most specific
The resolution for the appearance of a specific week goes through a staged process using the most specific
The resolution for the appearance of a specific week goes through a staged process using the most specific
The resolution for the appearance of a specific appointment goes through a staged process using the most specific
The resolution for the appearance of a specific appointment goes through a staged process using the most specific
The resolution for the appearance of a specific appointment goes through a staged process using the most specific
The resolution for the appearance of a specific holiday goes through a staged process using the most specific
The resolution for the appearance of a specific holiday goes through a staged process using the most specific
The resolution for the appearance of a specific holiday goes through a staged process using the most specific
The resolution for the appearance of a specific holiday goes through a staged process using the most specific
The resolution for the appearance of a specific holiday goes through a staged process using the most specific
The resolution for the appearance of a specific holiday goes through a staged process using the most specific
Note: The location where the settings are stored varies depending on the configuration of the system running the application. Information about where these locations are is currently unavailable in Microsoft's MSDN Library.
Note: The location where the settings are stored varies depending on the configuration of the system running the application. Information about where these locations are is currently unavailable in Microsoft's MSDN Library.
Note: The location where the settings are stored varies depending on the configuration of the system running the application. Information about where these locations are is currently unavailable in Microsoft's MSDN Library.
Use this property to determine if an
Use this property to determine if an
The determination for which months are considered alternate months is based on the month of the current date. The subsequent and following months would be considered alternate months. This would then alternate again and the following months would not be considered alternate months.
For example:
If today's date is 7/4/01, July 2001 would not be an alternate month. June 2001 and August 2001 are alternate months. Following in that pattern, May 2001 and September 2001 would not be considered alternate months.
The only control to utilize this setting by default is the
Use this property to determine if an
The determination for which months are considered alternate months is based on the month of the current date. The subsequent and following months would be considered alternate months. This would then alternate again and the following months would not be considered alternate months.
For example:
If today's date is 7/4/01, July 2001 would not be an alternate month. June 2001 and August 2001 are alternate months. Following in that pattern, May 2001 and September 2001 would not be considered alternate months.
The only control to utilize this setting by default is the
Use this property to determine if an
The determination for which months are considered alternate months is based on the month of the current date. The subsequent and following months would be considered alternate months. This would then alternate again and the following months would not be considered alternate months.
For example:
If today's date is 7/4/01, July 2001 would not be an alternate month. June 2001 and August 2001 are alternate months. Following in that pattern, May 2001 and September 2001 would not be considered alternate months.
The only control to utilize this setting by default is the
Use this property to determine if an
The AppointmentAppearance is the most general appearance that can be used to affect all
Use this property to determine if an
The DayAppearance is the most general appearance that can be used to affect all
Use this property to determine if an
The DayHeaderAppearance is the most general appearance that can be used to affect the day header of all
Use this property to determine if an
The determination for which months are considered alternate months is based on the month of the current date. The subsequent and following months would be considered alternate months. This would then alternate again and the following months would not be considered alternate months.
For example:
If today's date is 7/4/01, July 2001 would not be an alternate month. June 2001 and August 2001 are alternate months. Following in that pattern, May 2001 and September 2001 would not be considered alternate months.
The only control to utilize this setting by default is the
Use this property to determine if an
Use this property to determine if an
Use this property to determine if an
The DayOfWeekHeaderAppearance is the most general appearance that can be used to affect all
Use this property to determine if an
A
For more information on how the appearance for a
Use this property to determine if an
Use this property to determine if an
Use this property to determine if an
Use this property to determine if an
Use this property to determine if an
The collection of selected appointments is maintained in the
If the
Use this property to determine if an
The collection of selected days is maintained in the
If the
Use this property to determine if an
The collection of selected holidays is maintained in the
If the
Use this property to determine if an
The collection of selected notes is maintained in the
If the
Use this property to determine if an
Use this property to determine if an
The only controls which utilize this setting are the
Use this property to determine if an
The Tag property may be used to store information in the component. The component itself does use this data but will serialize it if it has been set.
Use this property to determine if an
Use this property to determine if an
The
The
The
The
Since leap years have 366 days as opposed to 365, day number 59 is always considered Feb 29. Therefore, it is recommended that the
The
Since the
The
The
The MonthDayAppearance is used to affect all
Use this property to determine if an
When left at its default value (Default), the actual value of the ViewStyle property resolves to 'Standard'.
Use this property to determine if an
Use this property to determine if an
Note: The location where the settings are stored varies depending on the configuration of the system running the application. Information about where these locations are is currently unavailable in Microsoft's MSDN Library.
Note: The location where the settings are stored varies depending on the configuration of the system running the application. Information about where these locations are is currently unavailable in Microsoft's MSDN Library.
This element appears within the
This element directly contains the following elements: NONE
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
This element appears within the
This element directly contains the following elements: one or more
This element appears within the
This element directly contains the following elements: one
This element appears within the
This element directly contains the following elements: NONE
This element appears within the
This element directly contains the following elements: NONE
This element appears within the
This element directly contains the following elements: one
Note: Because the UltraDayView control is designed primarily to display time-related information, the control does not display
Use this method to determine if an
Use this method to reset the properties of the
Use this method to determine if the
Use this method to determine if an
Use this method to reset the properties of the
Use this method to determine if the
Use this method to determine if the
Use this method to determine if the
Use this method to determine if the
Use this method to determine if an
Use this method to reset the properties of the
Use this method to determine if the
Use this method to determine if the
Use this method to determine if the
Use this method to determine if the
Use this method to determine if the
Use this method to determine if the
Use this method to determine if the
Use this method to determine if the
Use this method to determine if the
Use this method to determine if the
Invoke this method to simulate an action the user can perform.
Many actions are only appropriate in certain situations; if an action is inappropriate, it will not be performed. For example, attempting to delete appointments by performing the DeleteSelectedAppointments action will have no effect if no appointments are selected.
You can use the
Invoke this method to simulate an action the user can perform.
Many actions are only appropriate in certain situations; if an action is inappropriate, it will not be performed. For example, attempting to delete appointments by performing the DeleteSelectedAppointments action will have no effect if no appointments are selected.
You can use the
Note: When the associated
Note: When the control's
Note: When the control's
When the specified point references an area of the control which is within a
Use the
A reference to the
The edit operation can be canceled from within this event by setting the event args Cancel parameter to true.
A reference to the
A reference to an array of the appointments being moved is passed in the event args.
The move operation can be canceled from within this event by setting the event args Cancel parameter to true.
A reference to an array of the appointments just moved is passed in the event args.
A reference to the
The resize operation can be canceled from within this event by setting the event args Cancel parameter to true.
A reference to the
Both the old and new selected time slot range is passed in the event args.
The selection can be canceled from within this event by setting the event args Cancel parameter to true.
No additional parameters are passed in the event args. To determine what the new selected time slot range is, check the
A reference to the
The tooltip text is modifiable. If you modify the tooltip text in this event, the modified text will be displayed in the tooltip.
A reference to an array of the appointments being deleted is passed in the event args.
Also passed is a boolean value (DisplayPromptMsg, defaulted to true) that indicates whether the control should display a prompt message asking the user to confirm the deletion. You can set DisplayPromptMsg to false to suppress display of the dialog.
This event is fired after one or more appointments are deleted.
This event is fired before the time slots are scrolled, due to either a user click on the scrollbar or a programmatic repositioning of the scrollbar via a call to the
A reference to the
The scroll operation can be canceled from within this event by setting the event args Cancel parameter to true.
This event is fired after the time slots are scrolled.
A reference to the
A reference to the
This event is fired before the
The operation can be canceled from within this event by setting the event args Cancel parameter to true.
BeforePerformAction event gets fired before an action associated with a key action mapping is about to be performed. It is a cancelable event. When it's cancelled, UltraDayView will not perform the action for which this event was fired.
The AppointmentsDragComplete event is fired after a drag operation that includes
To determine what
Note: By default, the
The AllDayEvent area is the rectangular area near the top of UltraDayView control (just beneath the header for each
Use this property to determine if an
When this property is set to true the use will get a resize cursor over the
vertical column separators and can resize the columns down the the
If
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraWinSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the control's Appearances collection and assign it some values as follows:
UltraDayView1.Appearances.Add "New1"
UltraDayViewSingle1.Appearances("New1").BorderColor = Color.Blue
UltraDayViewSingle1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraDayViewSingle1.Appearance = UltraDayViewSingle1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraDayViewSingle1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraDayViewSingle1.Appearance.ForeColor = UltraDayViewSingle1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraDayViewSingle1.Appearance = UltraDayViewSingle1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.
Use this property to determine if an
When this property is set to true an
Note: The created appointment is not added to the
Instead, the
When this property is set to true (its default value) the
If this property is set to false you can manually display the
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
Use this property to determine if the control is currently editing an appointment, dragging appointments etc.
Refer to the documentation for the
Use this property to determine if an
The
Use this property to determine which
When this property is set to true the scrollbar is visible.
When this property is set to true the time slot descriptor area is hidden.
The time slot descriptor area is the area to the left of the time slots that contains the time slot descriptors.
This property lets you specify the the color used to fill the time bar (the narrow rectangular area at the left edge of a time slot) when the
The time bars for time slots that contain activity will be filled with the color specified by the
This is the total count of columns acroos groups that are in view.
Returns 1 if
| KeyCode | ActionCode | StateRequired | StateDisallowed | SpecialKeysRequired | SpecialKeysDisallowed |
|---|---|---|---|---|---|
| Right | SameTimeSlotNextDay | TimeSlotSelected | AppointmentInEdit, VisibleDaySelected | None | None |
| Left | SameTimeSlotPreviousDay | TimeSlotSelected | AppointmentInEdit, VisibleDaySelected | None | None |
| Up | PreviousTimeSlot | TimeSlotSelected | AppointmentInEdit | None | None |
| Down | NextTimeSlot | TimeSlotSelected | AppointmentInEdit | None | None |
| Home | FirstWorkingHourTimeSlot | None | AppointmentInEdit | None | None |
| End | LastWorkingHourTimeSlot | None | AppointmentInEdit | None | None |
| Prior | PageUp | None | None | None | None |
| Next | PageDown | None | None | None | None |
| Right | NextVisibleDay | VisibleDaySelected | AppointmentInEdit, TimeSlotSelected | None | None |
| Left | PreviousVisibleDay | VisibleDaySelected | AppointmentInEdit, TimeSlotSelected | None | None |
| Delete | DeleteSelectedAppointments | AppointmentsSelected | AppointmentInEdit | None | None |
| Enter | EndCurrentEditSaveChanges | AppointmentInEdit | 0 | None | None |
| Escape | EndCurrentEditDiscardChanges | AppointmentInEdit | 0 | None | None |
If set to 0 will allow 14 visible days if
If
By default, preference is given to the AllDayEventArea when the determining the number of time slots that will be displayed. The height of the
AllDayEventArea is dependant upon the number of
Note: Since some area must be left for the AllDayEventArea, it is possible that less time slots than the MinimumVisibleTimeSlots will be shown depending upon the height of the UltraDayView.
The non-working hour range is determined by looking at the
If
If
Use this property to determine which time slots are currently selected.
Refer to the
When
The control determines what days to display by looking at the
The
The working hour range is determined by looking at the
By default, the
The AppointmentEditorControl property cannot be set to a control that does not implement the IProvidesEmbeddableEditor interface; doing so will cause an exception to be thrown.
The
Note: To enable the Office2003 view style, set the
The CurrentTimeZoneLabel property provides a way to set the text that is displayed in the label area for the control's main
Note: To enable the Office2003 view style, set the
The
Note: To enable the Office2003 view style, set the
The
Note:The AdditionalTimeZoneVisible property is not applicable when the
Note: To enable the Office2003 view style, set the
When the
Note: To enable the Office2003 view style, set the
When the
Note: To enable the Office2003 view style, set the
Note: When the
This element appears within the
This element directly contains the following elements: 1 or more
This element appears within the
This element directly contains the following elements: 1 or more
This element appears within the
This element directly contains the following elements:
This element appears within the
This element directly contains the following elements:
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
This element appears within the
This element directly contains the following elements: 1 or more
This element appears within the
This element directly contains the following elements:
This element appears within the
This element directly contains the following elements:
This element appears within the
This element directly contains the following elements: NONE
This class maps keyboard keys with UltraDayView actions.
This element appears within the
This element contains all the remaining elements except the ScrollBarUIElement.
This element directly contains the following elements:
This element appears within the
This element directly contains the following elements: NONE
This element appears within the
This element directly contains the following elements: NONE
The Office2007MoreItemsIndicatorUIElement class extends limited support for customizing its appearance via application styling; the border color and the fill color can be changed by setting the BorderColor and BackColor properties, respectively, of the appearance for the ScheduleMoreActivityIndicatorUp/ScheduleMoreActivityIndicatorDown roles. Alternatively, an Image can be specified by setting the Image property of the appearance. No other appearance properties are supported by this element.
The size of the Office2007MoreItemsIndicatorUIElement is fixed at 13 pixels in width and 9 pixels in height.
This element appears within the either
This element directly contains the following elements:
This element appears within the
This element directly contains the following elements: 1 or more
This element appears within the
This element directly contains the following elements: 1 or 2
This element appears within the
This element directly contains the following elements: NONE.
This element appears within the
So, for example, if the
This element directly contains the following elements:
This element appears within the
So, for example, if the
This element directly contains the following elements: NONE
This element appears within the
This element directly contains the following elements: NONE
This element appears within the
This element directly contains the following elements: NONE
This element is the top level element in the control's UIElement hierarchy. Only one of these elements is created for each
This element directly contains the following elements:
Note: The array returned from the Appointments property represents a snapshot of the appointments that have been moved, and does not contain the actual
If all of the currently selected
The UltraMonthViewMulti is a calendar control designed to display one or more months. By default, the appearance of the days is compact enough only to see the numbers of the days, month headers, and day of week headers. The control offers multiple properties for how the control is sized, which parts of the calendar are displayed and the size of those parts.
The number of months displayed is based on the size of the control and the font information, including the name and size of the font, from the
The
Use this method to determine if an Appearance object has been created and contains data that needs to be serialized.
Use this method to reset the
The UltraMonthViewMulti offers several method for scrolling the calendar to a particular month. The user can use the scroll buttons (if
The
Note: Certain actions contain special key requirements; for example, an action might require that the CTRL key is pressed.
This requirement is stipulated through the associated
Raising an event invokes the event handler through a delegate.
The OnBeforeDisplayDayToolTip method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeDisplayDayToolTip in a derived class, be sure to call the base class's OnBeforeDisplayDayToolTip method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeMonthScroll method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeMonthScroll in a derived class, be sure to call the base class's OnBeforeMonthScroll method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterMonthScroll method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterMonthScroll in a derived class, be sure to call the base class's OnAfterMonthScroll method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnVisibleMonthsChanged method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnVisibleMonthsChanged in a derived class, be sure to call the base class's OnVisibleMonthsChanged method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnBeforeDisplayMonthPopup method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeDisplayMonthPopup in a derived class, be sure to call the base class's OnBeforeDisplayMonthPopup method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnAfterDisplayMonthPopup method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterDisplayMonthPopup in a derived class, be sure to call the base class's OnAfterDisplayMonthPopup method so that registered delegates receive the event.
The context menu related events relied upon overriding the WndProc of the control. However, overriding this method adds a restriction that the control can only be used when unmanaged code permissions have been provided. Since this must be overriden at the time of compiling, the ContextMenu related events have been marked as obsolete and will be removed in a future version of the product. The events will no longer be invoked in the current version.
Raising an event invokes the event handler through a delegate.
The OnBeforeDisplayContextMenu method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnBeforeDisplayContextMenu in a derived class, be sure to call the base class's OnBeforeDisplayContextMenu method so that registered delegates receive the event.
The context menu related events relied upon overriding the WndProc of the control. However, overriding this method adds a restriction that the control can only be used when unmanaged code permissions have been provided. Since this must be overriden at the time of compiling, the ContextMenu related events have been marked as obsolete and will be removed in a future version of the product. The events will no longer be invoked in the current version.
Raising an event invokes the event handler through a delegate.
The OnAfterDisplayContextMenu method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnAfterDisplayContextMenu in a derived class, be sure to call the base class's OnAfterDisplayContextMenu method so that registered delegates receive the event.
By default, the UltraMonthViewMulti control can receive focus but there may be some cases where you may not want mouse interaction with the control to take focus away from the current control. The AllowFocus property determines whether the control is selectable and therfore, whether it will take focus.
Note: The control will not receive any key notifications when it does not have focus. Therefore, when the AllowFocus property is false, the user will not be able to navigate the control using the keyboard.
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraWinSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the control's Appearances collection and assign it some values as follows:
UltraMonthViewMulti1.Appearances.Add "New1"
UltraMonthViewMulti1.Appearances("New1").BorderColor = Color.Blue
UltraMonthViewMulti1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraMonthViewMulti1.Appearance = UltraMonthViewMulti1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraMonthViewMulti1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraMonthViewMulti1.Appearance.ForeColor = UltraMonthViewMulti1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraMonthViewMulti1.Appearance = UltraMonthViewMulti1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.
Use this property to determine if an
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
By default, the
When the
The ResizeMode property determines whether the control sizes itself based on the
The CurrentState is used when processing a response to a keypress (
The KeyActionMappings property returns a collection of
The following table lists the default key mappings for the
| KeyCode | ActionCode | StateRequired | StateDisallowed | SpecialKeysRequired | SpecialKeysDisallowed |
|---|---|---|---|---|---|
| Left | PreviousDay | ActiveDay, VisibleMonths | AltCtrl | ||
| Right | NextDay | ActiveDay, VisibleMonths | AltCtrl | ||
| Left | PreviousDayKeepSelection | ActiveDay, VisibleMonths | Ctrl | Alt | |
| Right | NextDayKeepSelection | ActiveDay, VisibleMonths | Ctrl | Alt | |
| Up | SameDayInPreviousWeek | ActiveDay, VisibleMonths | AltCtrl | ||
| Down | SameDayInNextWeek | ActiveDay, VisibleMonths | AltCtrl | ||
| Up | SameDayInPreviousWeekKeepSelection | ActiveDay, VisibleMonths | Ctrl | Alt | |
| Down | SameDayInNextWeekKeepSelection | ActiveDay, VisibleMonths | Ctrl | Alt | |
| Up | ScrollPrevious | VisibleMonths | Alt | Shift | |
| Down | ScrollNext | VisibleMonths | Alt | Shift | |
| Home | FirstVisibleDayOfWeek | ActiveDay, VisibleMonths | AltCtrl | ||
| End | LastVisibleDayOfWeek | ActiveDay, VisibleMonths | AltCtrl | ||
| Home | FirstVisibleDayOfWeekKeepSelection | ActiveDay, VisibleMonths | Ctrl | Alt | |
| End | LastVisibleDayOfWeekKeepSelection | ActiveDay, VisibleMonths | Ctrl | Alt | |
| Home | FirstDayOfMonth | ActiveDay, VisibleMonths | Alt | Ctrl | |
| End | LastDayOfMonth | ActiveDay, VisibleMonths | Alt | Ctrl | |
| Home | FirstDayOfMonthKeepSelection | ActiveDay, VisibleMonths | AltCtrl | ||
| End | LastDayOfMonthKeepSelection | ActiveDay, VisibleMonths | AltCtrl | ||
| Prior | SameDayInPreviousMonth | ActiveDay, VisibleMonths | AltCtrl | ||
| Next | SameDayInNextMonth | ActiveDay, VisibleMonths | AltCtrl | ||
| Prior | SameDayInPreviousMonthKeepSelection | ActiveDay, VisibleMonths | Ctrl | Alt | |
| Next | SameDayInNextMonthKeepSelection | ActiveDay, VisibleMonths | Ctrl | Alt | |
| Prior | FirstVisibleDay | ActiveDay, VisibleMonths | Alt | ||
| Next | LastVisibleDay | ActiveDay, VisibleMonths | Alt | ||
| Prior | FirstVisibleDayKeepSelection | ActiveDay, VisibleMonths | AltCtrl | ||
| Next | LastVisibleDayKeepSelection | ActiveDay, VisibleMonths | AltCtrl | ||
| Tab | PreviousControl | Shift | AltCtrl | ||
| Tab | NextControl | All | |||
| Space | ToggleDaySelection | ActiveDay, VisibleMonths | Ctrl | Alt | |
| Escape | CloseMonthPopup | MonthPopupDisplayed | All |
While the UltraMonthViewMulti does not display activity information other than in the form of a tooltip, it may be desirable to have the ability to create new
The BeforeDisplayDayToolTip event will not be fired if the
The BeforeDisplayDayToolTip event may be canceled using
The
The BeforeMonthScroll event may be canceled using
The
The number of visible months will change based on changes to the
If the
The BeforeDisplayMonthPopup event may be canceled using
The
The
The context menu related events relied upon overriding the WndProc of the control. However, overriding this method adds a restriction that the control can only be used when unmanaged code permissions have been provided. Since this must be overriden at the time of compiling, the ContextMenu related events have been marked as obsolete and will be removed in a future version of the product. The events will no longer be invoked in the current version.
The BeforeDisplayContextMenu is fired before a context menu would be displayed. The
The BeforeDisplayContextMenu event may be canceled using
The context menu related events relied upon overriding the WndProc of the control. However, overriding this method adds a restriction that the control can only be used when unmanaged code permissions have been provided. Since this must be overriden at the time of compiling, the ContextMenu related events have been marked as obsolete and will be removed in a future version of the product. The events will no longer be invoked in the current version.
BeforePerformAction event gets fired before an action associated with a key action mapping is about to be performed. It is a cancelable event. When it's cancelled, UltraMonthViewMulti will not perform the action for which this event was fired.
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular button style, buttons formatted with that style will be drawn using solid lines.
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
The VisibleMonth object represents a
The VisibleMonth objects are reused and as such, it is recommended that you not store a reference to the object as it may be disposed or wrap a different
Note: This property is an indicator of whether this
This class is never read-only and as such always returns false.
Use this method to determine if an
Use this method to reset the properties of the
The GetDayFromPoint method is useful for hit testing to determine which, if any,
The GetDayFromPoint method is useful for hit testing to determine which, if any,
The GetAppointmentFromPoint method is useful for hit testing to determine whether the cursor is positioned over an
The GetHolidayFromPoint method is useful for hit testing to determine whether the cursor is positioned over a
The GetNoteFromPoint method is useful for hit testing to determine whether the cursor is positioned over a
The GetDayOfWeekFromPoint method is useful for hit testing to determine which
Use this method to determine if the
Note: If true is specified for the
Note: If the specified
Note: When the control's
Note: When the control's
When the AutoAppointmentDialog property is set to True and the user double-clicks on an existing Appointment, the dialog is pre-populated with the associated property values of that Appointment and displayed.
When the user double-clicks inside the day area of the control, the dialog is pre-populated with that day's date. By default, the dialog's 'All Day Event' checkbox (which corresponds to the appointment's
The
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
The value of the DayDisplayStyle property has a slightly different effect on the
| Property Value | UltraMonthViewSingle | UltraWeekView |
|---|---|---|
| Auto | As horizontal space allows. The name of the month is displayed for the first visible day in the control, as well as the first day of each month. | As horizontal space allows. The same formatting is applied to each day in the week. |
| Full | Month displayed in full. Example: "February 01" |
Day of week and month displayed in full. Example: "Friday, February 01" |
| Medium | Short representation of the month. Example: "Feb 01" |
Day of week displayed in full, with a short representation of the month. Example: "Friday, Feb 01" |
| Short | Name of month is not displayed - only the day's number is displayed. | Month is not displayed, with a short representation of the day of week. Example: "Fri 01" |
By default, the value of the AppointmentEndTimeVisible property is False. Setting it to true will result in the value of the
Note: The
Note: The manner in which the value is displayed (for example, a clock or a numerical representation) is determined by the
Note: The width of the visual representation of the appointment also affects whether the appointment's
If the appointment's width is less than double the amount of space required to display both appointment times, the
The default value of the ScrollbarVisible property is True. By setting the property's value to False, a vertical scrollbar will not appear at the right edge of the control.
Note: scrolling operations (i.e., wheeling or panning), are not affected in any way by the value of the ScrollbarVisible property.
Scrolling can be prevented by canceling the
The default value of the ScrollChangeSmall property is 1. The value can be changed to any positive whole number to change the number of weeks that are scrolled when the control's up or down scroll buttons are clicked.
The TimeDisplayStyle property can be used to change the way
For example, setting the property to
Note: The width of the visual representation of the Appointment also affects whether the appointment times are displayed.
If the appointment's width is less than double the amount of space required to display the appointment time(s), one or both of the times may be hidden.
In the case where the
Note: Since tooltips are never displayed for
Also note that tooltips are never displayed for multi-day
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraWinSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the control's Appearances collection and assign it some values as follows:
UltraMonthViewSingle1.Appearances.Add "New1"
UltraMonthViewSingle1.Appearances("New1").BorderColor = Color.Blue
UltraMonthViewSingle1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraMonthViewSingle1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraMonthViewSingle1.Appearance.ForeColor = UltraMonthViewSingle1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.
Use this property to determine if an
The BeforeScroll event is a cancelable event. If the event is canceled, the
If the
The BeforeAppointmentEdit event is a cancelable event. If the event is canceled,
the corresponding
The AfterAppointmentEdit event fires after the corresponding
Note that if the in-place editor is closed via the ESC key, which discards any changes that were made, the event does not fire.
If the
The BeforeNoteEdit event is a cancelable event. If the event is canceled,
the corresponding
The AfterNoteEdit event fires after the corresponding
Note that if the in-place editor is closed via the ESC key, which discards any changes that were made, the event does not fire.
If the
The MoreActivityIndicator appears at the bottom right corner of the day area when that day contains more activities
(
The BeforeActivitiesDeleted event is a cancelable event. If the event is canceled,
the
The ActivitiesDragComplete event is fired after a drag operation that includes
To determine what
By default, the
The AppointmentEditorControl property cannot be set to a control that does not implement the IProvidesEmbeddableEditor interface; doing so will cause an exception to be thrown.
By default, the
The AppointmentEditor property is available only at runtime. Design-time support for assigning custom editors is provided through the
By default, the
The NoteEditorControl property cannot be set to a control that does not implement the IProvidesEmbeddableEditor interface; doing so will cause an exception to be thrown.
The
The IsInEditMode returns true if the control is currently editing either an
The IsAppointmentInEditMode property returns true if the control is currently editing an
Use the
The IsNoteInEditMode property returns true if the control is currently editing a
Use the
The SelectionStrategyFilter property can be used to implement a customized selection strategy.
This is useful in the case where non-standard selection rules are necessary.
An example of this would be allowing selection of multiple items without using the CTRL or SHIFT keys.
When
By default, the
The NoteEditorComponent property cannot be set to a component that does not implement the IProvidesEmbeddableEditor interface; doing so will cause an exception to be thrown.
The PerformAction method is used by the
When the keystroke is received, the control attempts to perform the action associated with that keystroke, determining whether it can do so by reading the control's
Note: In addition to being used internally by the control, the PerformAction method is exposed so that it can be used to programmatically simulate user interactivity with the control.
For an example of how the
The GetDayFromPoint method is useful for hit testing to determine which, if any,
The GetDayFromPoint method is useful for hit testing to determine which, if any,
The GetDayFromPoint method is useful for hit testing to determine which, if any,
The GetDayFromPoint method is useful for hit testing to determine which, if any,
The GetAppointmentFromPoint method is useful for hit testing to determine whether the cursor is positioned over an
The GetAppointmentFromPoint method is useful for hit testing to determine whether the cursor is positioned over an
The GetHolidayFromPoint method is useful for hit testing to determine whether the cursor is positioned over a
The GetHolidayFromPoint method is useful for hit testing to determine whether the cursor is positioned over a
The GetNoteFromPoint method is useful for hit testing to determine whether the cursor is positioned over a
The GetNoteFromPoint method is useful for hit testing to determine whether the cursor is positioned over a
This overload of the ScrollDayIntoView method will only scroll the control by as much as is necessary to ensure that the specified
Use this overload to ensure that the specified
The GetDayOfWeekFromPoint method is useful for hit testing to determine which
The GetDayOfWeekFromPoint method is useful for hit testing to determine which
The CurrentState property is used by the control's
The
When the user interacts with the control, there are certain conditions that the control must meet before the action can be performed. For example, an item that is disabled cannot be selected. The CurrentState property is the mechanism used by the control to determine whether a certain action can be performed given the current state of the control.
The
The day of week headers appear at the top of the control, above the month area, when the
The
The week number headers appear to the left of the month area, when the
Note: The week number headers are not displayed by default. The BorderStyleWeekNumber property setting will only be observable when the
Note: The YearDisplayStyle property works in conjunction with the
The value of the DayOfWeekHeaderDisplayStyle property effects the way that text is formatted in the
The
The
By default, the control's
Note: The week headers that appear when the WeekNumbersVisible property is set to True are selectable. As such, when they are clicked,
the
By default, the
Saturday and Sunday can be displayed in separate columns by setting the WeekendDisplayStyle property to
Note: Any day of the week can be hidden by setting its corresponding
The default value of the VisibleWeeks property is 5. The property can be set to any positive whole number to change the number of
The FirstVisibleDay property is available only at runtime, and is read-only.
It is useful for returning the
By default, the KeyActionMappings collection contains all of the standard keyboard mappings for the
Individual
The KeyActionMappings collection offers virtually unlimited freedom of control over the
If the default behavior for a particular keystroke does not provide the desired functionality, it can be replaced with a custom
The KeyActionMappings collection is accessed by the control each time a relevant keystroke is received to determine what, if any, action should be attempted.
The following example illustrates the sequence of events that occur when the control receives a keystroke that has significance in the
Example: The user presses the left arrow key while the control's first visible day is active:
The following table lists the default key mappings for the
| KeyCode | ActionCode | StateRequired | StateDisallowed | SpecialKeysRequired | SpecialKeysDisallowed |
|---|---|---|---|---|---|
| Right | NextDay | Day, NextDayIsInMinMaxRange | ActivityInEditMode | Alt | |
| Left | PreviousDay | Day, PreviousDayIsInMinMaxRange | ActivityInEditMode | Alt | |
| Up | SameDayOfWeekInPreviousWeek | Day | ActivityInEditMode | Alt | |
| Down | SameDayOfWeekInNextWeek | Day | ActivityInEditMode | Alt | |
| Home | FirstDayInWeek | Day | ActivityInEditMode, DayFirstInWeek | Alt | |
| End | LastDayInWeek | Day | ActivityInEditMode | Alt | |
| Prior | ScrollUpByLargeChange | Day | ActivityInEditMode | Alt | |
| Next | ScrollDownByLargeChange | Day | ActivityInEditMode | Alt | |
| Tab | NextActivityByTab | Day | AltShift | ||
| Tab | PreviousActivityByTab | Day | Shift | Alt | |
| Space | ToggleDaySelection | Day | ActivityInEditMode | Ctrl | AltShift |
| F2 | EnterEditMode | Day | ActivityInEditMode, ActivityIsLocked | All | |
| Escape | ExitEditModeAndCancelChanges | ActivityInEditMode | All | ||
| Enter | DisplayAppointmentDialog | PivotItemIsActivity, SelectedAppointments, AutoAppointmentDialogEnabled | ActivityInEditMode, PivotItemIsDay | All | |
| Enter | ExitEditModeAndSaveChanges | ActivityInEditMode | NoteInEditMode | All | |
| Enter | AddNewAppointment | Day, NoSelectedActivities | ActivityInEditMode | All | |
| Delete | RemoveSelectedActivities | PivotItemIsActivity | ActivityInEditMode, PivotItemIsDay | All |
The UIElement property provides access to the visual representation of the
The control's UIElement property exposes a ChildElements collection under which all of the control's many individual UIElements appear as descendants.
The default value of the ScrollChangeLarge property is 5 (the same as the default value for the
The value can be changed to any positive whole number to change the number of weeks that are scrolled when the control's scroll track is clicked, or when the PageUp/PageDown buttons are pressed.
Use the DisplayRectangle property to determine the client area of the control, which for the
The
Note: When the control's
BeforePerformAction event gets fired before an action associated with a key action mapping is about to be performed. It is a cancelable event. When it's cancelled, UltraMonthViewSingle will not perform the action for which this event was fired.
The values of the UltraMonthViewSingleState enumeration are bit flags. The value of the control's
When the OwnerScroll property returns true, the scroll operation applies to owner scrolling. When the property returns false, the scroll action applies to vertical (week) scrolling.
By default, a confirmation dialog is displayed when the user deletes the currently selected Appointments and/or Notes. Setting the DisplayPromptMsg property to false prevents the dialog from appearing.
If all of the currently selected
When the
The UltraSchedulePrintDocument component is used to print the contents of an associated
Since several of the print styles, require output analogous to the controls included with UltraWinSchedule,
the component creates instances of the controls as required for the print operation. The component also exposes several "template"
control properties. When a control is created for the print operation, the properties of the corresponding "template" control are
copied to the control created by the print document. In addition, the component exposes additional events to allow these controls
to be initialized. For example, when an
Returns a Boolean value that determines whether the
Returns a Boolean value that determines whether the
Returns a Boolean value that determines whether the
Returns a Boolean value that determines whether the
Returns a Boolean value that determines whether the
Returns a Boolean value that determines whether the
Returns a Boolean value that determines whether the
Returns a Boolean value that determines whether the
Returns a Boolean value that determines whether the
Raising an event invokes the event handler through a delegate.
The OnInitializeDayView method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnInitializeDayView in a derived class, be sure to call the base class's OnInitializeDayView method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnInitializeWeekView method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnInitializeWeekView in a derived class, be sure to call the base class's OnInitializeWeekView method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnInitializeMonthViewSingle method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnInitializeMonthViewSingle in a derived class, be sure to call the base class's OnInitializeMonthViewSingle method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnInitializeMonthViewMulti method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnInitializeMonthViewMulti in a derived class, be sure to call the base class's OnInitializeMonthViewMulti method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnInitializeDateHeaderMonthViewMulti method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnDateHeaderInitializeMonthViewMulti in a derived class, be sure to call the base class's OnInitializeDateHeaderMonthViewMulti method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnInitializeTimelineView method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnInitializeTimelineView in a derived class, be sure to call the base class's OnInitializeTimelineView method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnPagePrinting method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnPagePrinting in a derived class, be sure to call the base class's OnPagePrinting method so that registered delegates receive the event.
Raising an event invokes the event handler through a delegate.
The OnPagePrinted method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to Inheritors: When overriding OnPagePrinted in a derived class, be sure to call the base class's OnPagePrinted method so that registered delegates receive the event.
All the controls created by the print document for the print operation will be associated with this UltraCalendarInfo instance.
Note: If not specified a new UltraCalendarInfo will be created.
All the controls created by the print document for the print operation will be associated with this UltraCalendarLook instance.
Note: If not specified a new UltraCalendarLook will be created.
Returns or sets the class used to owner draw sections of the print results. The
Returns or sets the object used to manipulate the size, creation and positioning of elements. The
This property determines whether the weekends are compressed in a monthly print style.
By default, whether a weekend is compressed will be based on the
The DateRangeMode determines which range of dates will be used to limit the print
operation. When set to Selection, the date range is based on the
Note This property is only used when
Note This property is only used when
Determines the first time slot that is rendered when
printing a Dayview style output. By default, this will be the
earliest
Determines the last time slot that is rendered when
printing a Dayview style output. By default, this will be the
latest
When the
When the PrintStyle property is set to 'Timeline', the
The number of pages in the resulting print document is determined by several factors.
The range of time to be printed, as determined by the value of the
When
Note: When using the 'Timeline' setting, only contiguous ranges of time can be printed. For example, when the PrintRange property is set to 'SelectedDateRanges', all dates from the first date in the selection to the last are printed, regardless of whether the selection represents a discontiguous selection, i.e., "gaps" in the selection are not removed from the printed output.
Determines if a blank notes area should be rendered. The blank notes section is an additional section with a header and a blank area for writing notes.
Note: This is only applicable to the Daily, Weekly and Monthly print styles and is not included for the corresponding sections when used in a trifold print style.
Determines if a lined notes area should be rendered. The lined notes section is an additional section with a header and a lined area for writing notes.
Note: This is only applicable to the Daily, Weekly and Monthly print styles and is not included for the corresponding sections when used in a trifold print style.
Determines if the calendar info notes area should be rendered. The calendar info
notes section is an additional section that includes the
Note: This is only applicable to the Daily, Weekly and Monthly print styles and is not included for the corresponding sections when used in a trifold print style.
Determines if the date header area is included in the output. The date header area is the area at the top of the page which displays the date range and possibly a monthviewmulti.
Determines the number of pages that the daily style output will span.
Note: Time slots are only ever rendered on the first page. The second page will only be used for the various notes sections. If set to 2 and none of these sections are included, only 1 page will be output.
Determines the number of pages that the weekly style output will span.
Determines the number of pages that the monthly style output will span.
The UltraSchedulePrintDocument creates instances of the various schedule controls
in order to render the calendar information to the printer. When the control is created, it is initialized
based on the respective 'Template' property (e.g.
The UltraSchedulePrintDocument creates instances of the various schedule controls
in order to render the calendar information to the printer. When the control is created, it is initialized
based on the respective 'Template' property (e.g.
The UltraSchedulePrintDocument creates instances of the various schedule controls
in order to render the calendar information to the printer. When the control is created, it is initialized
based on the respective 'Template' property (e.g.
The UltraSchedulePrintDocument creates instances of the various schedule controls
in order to render the calendar information to the printer. When the control is created, it is initialized
based on the respective 'Template' property (e.g.
The UltraSchedulePrintDocument creates instances of the various schedule controls
in order to render the calendar information to the printer. When the control is created, it is initialized
based on the respective 'Template' property (e.g.
The control's
The UltraSchedulePrintDocument creates instances of the various schedule controls
in order to render the calendar information to the printer. When the control is created, it is initialized
based on the respective 'Template' property (e.g.
The
The text displayed in the column headers is fully customizable, and can be oriented at any angle. An image can be displayed on the header as well.
The default implementation adds or subtracts (depending on the value of
The default implementation applies the resolved
The default implementation leaves the specified
The Visible property is not applicable in the case where this instance is
designated as the
A member of the
The actual amount of time spanned in a cycle generated by this instance is determined by the
When owner headers are visible, the area above the topmost owner header, and to the left of the first visible column header, can display a label. This appearance controls the visual formatting for those labels, and the background therein.
When owner headers are visible, the area above the topmost owner header, and to the left of the first visible column header, can display a label. This property defines the text that is displayed in that area.
Note: The width of the owner header area is dependent on both the size required to display each owner's header, and the size required to display the LabelText.
The label area is only displayed when the
Note: If the LabelToolTipText property is set, the tooltip is displayed, regardless of whether the
Note: Navigational buttons are never displayed for the
Note: Navigational buttons are never displayed for the
The NormalSpan property is used primarily for sorting the members of the
When not explicitly overridden in a derived class, the default value is derived by multiplying the NormalSpan by ten.
The default implementation returns 'Undefined', which means that the interval is not representative of any particular standard unit of time.
The amount of time spanned by a TimeInterval is defined by two properties,
The value of the
The TimeZone property can be used to offset cycles generated by this instance from the times displayed by the PrimaryInterval. When this instance is assigned to the PrimaryInterval property, the TimeZone property is not applicable, i.e., dates and times for the cycles generated by the PrimaryInterval are always expressed as relative to the current time zone.
The amount of time spanned by a DateInterval is defined by two properties,
Since some months of the year have a different number of days than others,
and leap years have more days than "normal" years, it is not always possible
to know the exact amount of time spanned by an interval without providing a
specific date as a context. The NormalSpan property provides an estimation of this
by normalizing months and years; for the purposes of sorting the members of the
In the case where the
Not all of the components of the SynchronizingDate structure are necessarily used; which
ones are used depends on the value of the
When no value has been explicitly assigned to the SynchronizingDate property, the value of
the associated UltraCalendarInfo's
The TimeSlotUIElement class encapsulates the physical manifestation of an explicit
date/time range, similar to a
The amount of time spanned by each TimeSlotUIElement is generally determined by the
The width of all TimeSlotUIElements is determined by the
The Application Styling roles for this element are: TimelineViewTimeSlotBase, TimelineViewTimeSlotWorkingHour, and TimelineViewTimeSlotNonWorkingHour.
The base application styling role name for the TimeSlotUIElement is TimelineViewTimeSlotBase. TimeSlotUIElements which fall within the working hour range can be styled separately using the TimelineViewTimeSlotWorkingHourrole; TimeSlotUIElements which fall within the non-working hour range can be styled separately using the TimelineViewTimeSlotNonWorkingHourrole.
The UltraTimelineViewUIElement encapsulates the physical manifestation
of the
The following table lists the names of each of the
| Role | UIElement | Description |
|---|---|---|
| ScheduleOwner | Role for a WinSchedule | |
| ScheduleOwnerHeader | Role for the header that appears along the left edge of the control, identifying each | |
| ScheduleActivity | Base role for appointments and holidays. | |
| ScheduleAppointment | Role for | |
| ScheduleHoliday | Role for | |
| TimelineViewTimeSlotBase | Base role for time slots. | |
| TimelineViewTimeSlotWorkingHour | Role for time slots which appear in the working hour range. | |
| TimelineViewTimeSlotNonWorkingHour | Role for time slots which appear in the non-working hour range. | |
| TimelineViewColumnHeaderBase | Base role for column headers. | |
| TimelineViewColumnHeaderMinutes | Role for column headers which represent a | |
| TimelineViewColumnHeaderHours | Role for column headers which represent a | |
| TimelineViewColumnHeaderDays | Role for column headers which represent a | |
| TimelineViewColumnHeaderWeeks | Role for column headers which represent a | |
| TimelineViewColumnHeaderMonths | Role for column headers which represent a | |
| TimelineViewColumnHeaderYears | Role for column headers which represent a | |
| TimelineViewColumnHeaderPrimaryInterval | Role for column headers which represent the | |
| TimelineViewColumnHeaderDateNavigationButton | Role for the triangular buttons which appear on column headers, providing a means by which to navigate the timeline. | |
| TimelineViewDateTimeIntervalLabel | Role for the label which appears above the owner header area, next to each DateTimeInterval, in which a caption can be displayed. | |
| TimelineViewActivityScrollButtonBase | Base role for the triangular buttons which appear in the activity area, which when clicked bring non-visible activities into the viewable area of the control. | |
| TimelineViewActivityScrollButtonUp | Role for the activity scroll button that faces up. | |
| TimelineViewActivityScrollButtonDown | Role for the activity scroll button that faces down. | |
| TimelineViewControlArea | Role which represents the control itself. |
The application styling role name for the UltraTimelineViewUIElement is TimelineViewControlArea.
The GetDayFromPoint method is useful for hit testing to determine which, if any,
The GetDayFromPoint method is useful for hit testing to determine which, if any,
The GetAppointmentFromPoint method is useful for hit testing to determine whether the cursor is positioned over an
The GetAppointmentFromPoint method is useful for hit testing to determine whether the cursor is positioned over an
The GetHolidayFromPoint method is useful for hit testing to determine whether the cursor is positioned over a
The GetHolidayFromPoint method is useful for hit testing to determine whether the cursor is positioned over a
The GetNoteFromPoint method is useful for hit testing to determine whether the cursor is positioned over a
The GetNoteFromPoint method is useful for hit testing to determine whether the cursor is positioned over a
The GetDayOfWeekFromPoint method is useful for hit testing to determine which
The GetDayOfWeekFromPoint method is useful for hit testing to determine which
The GetDayFromPoint method is useful for hit testing to determine which, if any,
The GetDayFromPoint method is useful for hit testing to determine which, if any,
The PerformAction method is used by the
When the keystroke is received, the control attempts to perform the action associated with that keystroke, determining whether it can do so by reading the control's
Note: In addition to being used internally by the control, the PerformAction method is exposed so that it can be used to programmatically simulate user interactivity with the control.
For an example of how the
The VisibleWeek property is available only at runtime.
Note: The VisibleWeek property cannot be set to a value that is outside the range determined by the
The day header is the area that contains the
Note: Only the bottom edge of the border is drawn, and as a result certain border styles may not appear as might be expected.
The default value of the ScrollChangeLarge property is 1.
The value can be changed to any positive whole number to change the number of weeks that are scrolled when the control's scroll track is clicked, or when the PageUp/PageDown buttons are pressed.
By default, the KeyActionMappings collection contains all of the standard keyboard mappings for the
Individual
The KeyActionMappings collection offers virtually unlimited freedom of control over the
If the default behavior for a particular keystroke does not provide the desired functionality, it can be replaced with a custom
The KeyActionMappings collection is accessed by the control each time a relevant keystroke is received to determine what, if any, action should be attempted.
The following example illustrates the sequence of events that occur when the control receives a keystroke that has significance in the
Example: The user presses the down arrow key while the control's first visible day is active:
The following table lists the default key mappings for the
| KeyCode | ActionCode | StateRequired | StateDisallowed | SpecialKeysRequired | SpecialKeysDisallowed |
|---|---|---|---|---|---|
| Down | NextDay | Day, NextDayIsInMinMaxRange | ActivityInEditMode | Alt | |
| Up | PreviousDay | Day, PreviousDayIsInMinMaxRange | ActivityInEditMode | Alt | |
| Right | DayToTheRight | Day | ActivityInEditMode | Alt | |
| Left | DayToTheLeft | Day | ActivityInEditMode | Alt | |
| Home | FirstDayInWeek | Day | DayFirst, ActivityInEditMode | Alt | |
| End | LastDayInWeek | Day | ActivityInEditMode | Alt | |
| Prior | ScrollUpByLargeChange | Day | ActivityInEditMode | Alt | |
| Next | ScrollDownByLargeChange | Day | ActivityInEditMode | Alt | |
| Tab | NextActivityByTab | Day | AltShift | ||
| Tab | PreviousActivityByTab | Day | Shift | Alt | |
| Space | ToggleDaySelection | Day | ActivityInEditMode | Ctrl | AltShift |
| F2 | EnterEditMode | Day | ActivityInEditMode, ActivityIsLocked | All | |
| Escape | ExitEditModeAndCancelChanges | ActivityInEditMode | All | ||
| Enter | DisplayAppointmentDialog | PivotItemIsActivity, SelectedAppointments, AutoAppointmentDialogEnabled | ActivityInEditMode, PivotItemIsDay | All | |
| Enter | ExitEditModeAndSaveChanges | ActivityInEditMode | NoteInEditMode | All | |
| Enter | AddNewAppointment | Day, NoSelectedActivities | ActivityInEditMode | All | |
| Delete | RemoveSelectedActivities | PivotItemIsActivity | ActivityInEditMode, PivotItemIsDay | All |
The FirstVisibleDay property is available only at runtime, and is read-only.
It is useful for returning the
The UIElement property provides access to the visual representation of the
The control's UIElement property exposes a ChildElements collection under which all of the control's many individual UIElements appear as descendants.
Use the DisplayRectangle property to determine the client area of the control, which for the
BeforePerformAction event gets fired before an action associated with a key action mapping is about to be performed. It is a cancelable event. When it's cancelled, UltraMonthViewSingle will not perform the action for which this event was fired.
The CurrentState property is used by the control's
The
When the user interacts with the control, there are certain conditions that the control must meet before the action can be performed. For example, an item that is disabled cannot be selected. The CurrentState property is the mechanism used by the control to determine whether a certain action can be performed given the current state of the control.
The
Note that not all styles are available on all operating systems. If the version of the OS that your program is running on does not support a particular border style, borders formatted with that style will be drawn using solid lines.
VisibleDay objects are exposed by the UltraDayView control via the
The
The Text property for the
Note: Because
The UltraDayView control's
VisibleDay objects are exposed by the UltraDayView control via the
The "VisibleDaysCollection" contains 1
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraWinSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the component's Appearances collection and assign it some values as follows:
UltraMonthViewSingle1.Appearances.Add "New1"
UltraMonthViewSingle1.Appearances("New1").BorderColor = Color.Blue
UltraMonthViewSingle1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraMonthViewSingle1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraMonthViewSingle1.Appearance.ForeColor = UltraMonthViewSingle1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.
The Appearance property of an object is used to associate the object with an Appearance object that will determine its appearance. The Appearance object has properties that control settings such as color, borders, font, transparency, etc. For many of the objects in the UltraWinSchedule, you do not set formatting properties directly. Instead, you set the properties of an Appearance object, which controls the formatting of the object it is attached to.
There are two ways of working with the Appearance property and assigning the attributes of an SSAppearance object to other objects. One way is to create a new Appearance object, adding it directly to the Appearances collection. Then you assign the new Appearance object to the Appearance property of the object you want to format. This method uses a "named" Appearance object that you must explicitly create (and to which you must assign property settings) before it can be used. For instance, you could create an object in the component's Appearances collection and assign it some values as follows:
UltraMonthViewSingle1.Appearances.Add "New1"
UltraMonthViewSingle1.Appearances("New1").BorderColor = Color.Blue
UltraMonthViewSingle1.Appearances("New1").ForeColor = Color.Red
Creating the object in this way does not apply formatting to any visible part of the control. The object simply exists in the collection with its property values, waiting to be used. To actually use the object, you must assign it to the control's (or another object's) Appearance property:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1")
In this case, only one Appearance object exists. The control's appearance is governed by the settings of the "New1" object in the collection. Any changes you make to the object in the collection will immediately be reflected in the control.
The second way of working with the Appearance property is to use it to set property values directly, such as:
UltraMonthViewSingle1.Appearance.ForeColor = Color.Blue
In this case, an Appearance object is automatically created by the control. This Appearance object is not a member of an Appearances collection and it does not have a name. It is specific to the object for which it was created; it is an "intrinsic" Appearance object. Changes to the properties of an intrinsic Appearance object are reflected only in the object to which it is attached.
Note that you can assign properties from a named Appearance object to an intrinsic Appearance object without creating a dependency relationship. For example, the following code...
UltraMonthViewSingle1.Appearance.ForeColor = UltraMonthViewSingle1.Appearances("New1").ForeColor
...does not establish a relationship between the foreground color of the intrinsic object and that of the named object. It is simply a one-time assignment of the named object's value to that of the intrinsic object. In this case, two Appearance objects exist - one in the collection and one attached to the control - and they operate independently of one another.
If you wish to assign all the properties of a named object to an intrinsic object at once without creating a dependency relationship, you can use the Clone method of the Appearance object to duplicate its settings and apply them. So if you wanted to apply all the property settings of the named Appearance object "New1" to the control's intrinsic Appearance object, but you did not want changes made to "New1" automatically reflected in the control, you would use the following code:
UltraMonthViewSingle1.Appearance = UltraMonthViewSingle1.Appearances("New1").Clone
Note that the properties of an Appearance object can also operate in a hierarchical fashion. Certain properties can be set to a "use default" value, which indicates to the control that the property should take its setting from the object's parent. This functionality is enabled by default, so that unless you specify otherwise, child objects resemble their parents, and formatting set at higher levels of the control hierarchy is inherited by objects lower in the hierarchy.