Schedule / Appointments / Appointment Categorization
Appointment Categorization

Appointment categorization is the process of assigning a category and/or a time marker to the Category and TimeMarker property of the appointment respectively. The categories and time markers (also called "tags") you can choose from are defined by the Categories and TimeMarkers collections of the schedule, which owns the appointments and by default are:

Categories
Fill Name
Orange
Red
Blue
Green
Purple
Yellow
Time Markers
Fill Name
Free
Tentative
Busy
Out of Office

 

 Setting Category and Time Marker

The category affects the background fill of the whole appointment, which by default is light sky blue color fill and the time marker affects the fill of the header, which is by default gray color fill. You can easily add additional categories and time markers or remove some of the default ones by modifying the Categories and TimeMarkers collection of the schedule respectively.

Categories are represented by the NCategory class and time markers - by the NTimeMarker class, which both provide constructors with 4 parameters, you can use to create appointment tags by specifying:

  • The name of the tag.
  • The fill of the tag.
  • The highlighted fill of the tag, which specifies the fill of the tag when the mouse pointer is over the appointment.
  • The selected fill of the tag, which specifies the fill of the tag when the appointment is selected.

The following piece of code demonstrates how to create an appointment, assign a category and a time marker to it and add it to a schedule:

Assign category and time marker
Copy Code
DateTime today = DateTime.Today;
NAppointment appointment = new NAppointment("Meeting with John", today.AddHours(8), today.AddHours(10));
appointment.Category = NLoc.Get("Orange");
appointment.TimeMarker = NLoc.Get("Busy");
schedule.Appointments.Add(appointment);

It is best to use NLoc.Get when dealing with appointment tag names, in order to make your application localizable. For more information about localization, check out the Localization Overview topic.

 Time Marker Thickness

Time marker thickness is determined by the thickness of the appointment header, which is by default set to 5 DIPs (device independent pixels). You can easily change it by setting a different value to the static property AppointmentHeaderThickness of the NScheduleTheme class. This property should be set before applying the schedule theme, for example in the entry point of the application.

The line of code below shows how to set the appointment header thickness, which also determines time marker thickness, to 30 DIPs:

Setting appointment header thickness
Copy Code
NScheduleTheme.AppointmentHeaderThickness = 30;
See Also