Schedule.NET
ActiveX
Enterprise Server
General
Site



DOWNLOADS | eSTORE | CONTACT | MESSAGE BOARD

Schedule.NET Updates


March 14, 2008
Version 5.4.2.4
1) The screen is updated immediately when an appointment is removed in code. 2) The Major/Minor lines are displayed in sync with the hour increments when the TimeIncrement property is a value other than 30 minutes.
3) Rooms and Providers marked as invisible are no longer shown on the schedule.

April 30, 2007
Version 5.4.2.2
1) Added the property DynamicScroll to enable large schedules to be scrolled without immediately being refreshed when set to false. When this property is true all refreshes will be immediate when scrolling.

March 05, 2007
Version 5.4.2.0
1) Corrected a text format issue with column and row headers when using advanced formatting options.

January 18, 2007
Version 5.4.1.0
1) Corrected a memory leak that over many hours or days could cause an appliation to crash.
2) Corrected an issue with the Snooze functoinality not be set correctly.

November 27, 2006
Version 5.4.0.0
1) The BeforeToolTip event has a new signature that allows you to specify a header for a ToolTip.
2) ToolTips are now displayed as balloons (2.0 Framwork only).
3) The Room, Provider, and Resource objects not have an Appearance object that controls how they are drawn.
4) There is a new property UseDefaultDrawnHeaders that determines whether the headers are drawn with the RowHeader and ColumnHeader Appearance objects or use the row or column's associated Room, Provider, or Resource Appearance object.
5) The Schedule's Appearance object now has more properties to control more detail of the Schedules look-and-feel. The new properties are MajorLineColor, MinorLineColor, MajorLineWidth, and MinorLineWidth to control the lines drawn for times with Major being the hour break. Also the properties ItemLineColor and ItemLineWidth have been added to control the lines of non-time rows or columns.
6) The top, left square where the column and row headers meet is now drawn with the RowHeader Appearance object's BackColor.

November 15, 2006
Version 5.3.0.0
1) Added an overload for the GetConflicts method of the AppointmentList object.
2) Corrected a slowness issue when scrolling. This was especially noticeable in provider viewmodes with hundreds of provider objects.

November 07, 2006
Version 5.2.3.0
1) The RecurrenceDialogSettings object now has a new property YearlyString to control the text of the Recurrence dialog's "Yearly" radio button.
2) The RecurrenceDialogSettings object's Section1String and WindowText property now control aspects of the Recurrence dialog's display.

September 12, 2006
Version 5.2.2.0
1) You can now set the key of an object after it has been created. This functionality will not work with databinding.
2) The Selector object now has new methods including StartDate, StartProvider, StartResource, StartRoom, and StartTime.

August 28, 2006
Version 5.2.1.0
1) Corrected an issue that caused the next available space to not be calculated correctly sometimes in Day/Room/Time viewmodes.

July 24, 2006
Version 5.2.0.0
1) Add overloads to the NextAreaAvailable method of the AppointmentList object to allow for full day searches that are not limited to the display times of the schedule.
2) The Appointment object may now be extended and these extended objects may be added to the AppointmentCollection like any other appointment.

July 17, 2006
Version 5.1.5.0
1) Two new viewmodes have been added: DayProviderLeftTimeTop and DayProviderTopTimeLeft.
2) Calculation of appointment conflicts now handle multi-day appointments.
3) Intellisense was expanded.
4) The component is now added to the GAC on installation.

July 03, 2006
Version 5.1.1.0
1) An error with the RecurrenceStamp property not persisting to the defined database format when databinding under some circumstances has been corrected.

June 05, 2006
Version 5.1.0.0
1) The ScheduleAreaCollection has many new overloads for the 'Find' function. This collection is the foundation of the NoDropAreaCollection and ColoredAreaCollection.
2) Corrected an error in the binding of the Priority property of an appointment.

May 23, 2006
Version 5.0.2.0
1) All collections that have a ToList method also now have a FromList method.

May 08, 2006
Version 5.0.1.0
1) Corrected an issue that caused Providers, Categories, or Resources to be removed from appointments when their respective configuration screens were used at run-time to re-order objects in the list.
2) The new property UseDefaultAppearances allows you to not use the default appearances when creating an appointment. Setting this property to false will also halve load times.
3) When clearing the appointment collection the SelectedItem object is now set to null.
4) The NoDropAreaClick event parameter now returns the ScheduleArea object that was clicked.

May 01, 2006
Version 5.0.0.0
1) Added the viewmode DayLeftResourceTop

April 18, 2006
Version 4.8.9.0
1) Corrected the display of events and activities when scrolling in viewmodes with Rooms, Providers, and Resources on top.
2) Corrected an issue with events not being displayed correctly in provider top viewmodes when some providers were marked as invisible. This also applies to the display of events in room top and resource top viewmodes when each collection has objects set to be invisible.

April 09, 2006
Version 4.8.8.5
1) Corrected an issue with some the yearly recurrence properties not saving to a bound dataset.
2) Added a parameter to the VCal export to allow for the control of times saved as universal time or local time.
3) Corrected an issue with the VCal export that caused a multiple category listing to not be comma delimited in the file.
4) Corrected an error that occurred when setting the end time to a non-listed time on the custom dialog screen.

April 03, 2006
Version 4.8.8.0
1) Corrected an issue with the reported coordinates being negative when clicking on a column.
2) Corrected the display of viewmodes with dates and times on left.

March 22, 2006
Version 4.8.7.0
1) The Column headers now grow in height according to the text displayed.
2) Corrected issues with the yearly recurrences persistence in the provided dataset.
3) Corrected an error that occurred when the schedule was in MonthFull viewmode and appointments were scheduled in the last cell of the 6th week.
4) Corrected an problem with printing that caused the first page to always be printed portrait.
5) You can now save an user-specified appointment in a NoDropArea by overriding the "PropertyDialogSaveInvalidArea" event and setting the "IsValid" parameter to true.
6) When the user adds an appointment to a bound schedule, its PropertyItemCollection will be automatically populated if the binding dataset dictates this by its structure. See documentation for data binding.

March 07, 2006
Version 4.8.4.0
1) Corrected an issue that caused an error when adding Rooms under certain conditions.
2) Yearly recurrences now persist and load in the XML.
3) The yearly recurrences are now saved and loaded from the provided dataset.

Febuary 16, 2006
Version 4.8.3.0
1) Corrected an issue with the event header displaying too large when non-visible appointments are marked as events.
2) The VCAL export format now supports appointment notes.

January 09, 2006
Version 4.8.1.0
1) Corrected an issue with MonthFull mode displaying correctly.
2) Corrected an error introduced in the last version that caused data binding to fail from an Appointment to a linked Provider, Resource, or Category.

January 02, 2006
Version 4.8.0.0
1) Appointment providers, resources, and categories are now saved correctly even when they contain a comma in the name. This was an error in the AppointmentProperties control and the default appointment property dialog.
2) Corrected an issue that occured if the appointment being edited was deleted in the BeforePropertyDialog event.

December 19, 2005
Version 4.7.8.0
1) Corrected an error that occurred when use the AddRecurrence method of the AppointmentCollection.
2) In Month and MonthFull viewmodes there are now scroll bars that allow you to scroll through cells that hold more appointments than can fit in the cell.
3) Corrected an annoyance that caused the wrong cell to be hightlighted when the mouse was clicked close the border of another cell in Month and MonthFull viewmode.
4) Corrected an issue with a blank page occasionally following a print.
5) Corrected an issue that occurred when saving a VCAL file for an appointment when the appointment's Priority object is null.

December 12, 2005
Version 4.7.7.0
1) The PrintDialogSettings object now has new properties to control the text of the PrintPreviewControl.

December 05, 2005
Version 4.7.6.0
1) The appointment will not be reset when dragging unless the viewmode supports a date component.
2) The colored areas and nodrop areas are not properly aligned in Month and MonthFull mode.
3) The Visibility method ShowAppointment now will scroll the schedule to the proper location when the viewmode contains rooms and providers.

November 21, 2005

Version 4.7.5.0
1) All day events are now visible in the following viewmodes: DayTopProviderLeft, Schedule.ViewModeConstants.DayTopRoomLeft, Schedule.ViewModeConstants.DayTopTimeLeft, Schedule.ViewModeConstants.DayRoomTopTimeLeft, ViewModeConstants.ProviderTopTimeLeft, ViewModeConstants.ResourceTopTimeLeft, ViewModeConstants.RoomTopProviderLeft, ViewModeConstants.RoomTopTimeLeft, ViewModeConstants.RoomLeftProviderTop.
2) The drag tips are now more appropriate for the current viewmode.
3) Selected appointments now are displayed on top of non-selected other appointments.
4) The selector will no longer be shown outside the grid as sometimes happened when changing viewmodes.

November 07, 2005
Version 4.7.0.0
1) The PrintDialogSettings object now supports a Zoom property applicable the preview dialog.
2) Each Provider now has a new property Visible that may be used to selectively remove it from display.

October 24, 2005
Version 4.6.9.1
1) Made various improvements to the recurrence dialog.
2) Appointments now show for the optional sixth week in Month and MonthFull viewmodes.

October 17, 2005
Version 4.6.9.0
1) Optimized the drawing routines such that many of the UserDrawn events are not raised so often.
2) Every object derived from BaseList (RoomList, CategoryList, AppointmentList, AppointmentTypeList, PriorityList, ResourceList, and ScheduleAreaList) now allows you specify a Comparer object to be used when The Sort method is called.
3) The appointment property StartDateTime is now read/write.
4) The signature for events BeforeAppointmentCopy and BeforeAppointmentMove have changed. The event parameter now has a reference to the original appointment and the proposed appointment after the change.

October 10, 2005
Version 4.6.8.2
1) The MonthFull viewmode now shows 6 weeks when required to show a whole month's days.
2) If you cancel the BeforeAppointmentAdd event then the BeforeAppointmentEdit will not be raised.
3) There are two new events: BeforeRecurrenceDialog and AfterRecurrenceDialog.
4) The Month and MonthFull viewmodes now draw the month text in a double size font.
5) The Recurrence component now supports Yearly recurrences.

September 26, 2005

Version 4.6.7.0
1) The TimeBar now displays the first visible hour correctly in the left margin even when the first visible minute is not zero.

September 19, 2005
Version 4.6.5.5
1) Month viewmodes now let you specify the schedule MinDate. It will be rounded to the first day of the week not the first day of the month.
2) Added a new value to the HeaderTypeConstants enumeration that allows you to custom draw an appointment header.
3) Added a new event UserDrawnAppointmentBar that allows you to catch an appointment header draw routine.
4) Each appointment header now has a readonly ClientRectangle property that defines the drawn area of the appointment header object.

September 07, 2005
Version 4.6.5.1
1) The IsConflict methods no longer compare an appointment with itself when finding conflicts. This means that you no longer need to send in a skip list with the appointment.
2) The AfterProviderConfigurationDialog and AfterProviderListDialog events now fire as expected.
3) The base class DialogSettingsBase now has two new properties: Location and Size. These effect all dialogs when a derived class is passed-in.

August 29, 2005
Version 4.6.5.0
1) The PrintDialogSettings object no longer has a PrinterSettings object. It now has a PageSettings object with contains a PrinterSettings object.
2) The PrintDialogSettings object no longer contains a Landscape property. The PageSettings objects now contains the Landscape property.
3) The PrintDialogSettings.PageSettings object has a margins objects that can be used to specify margins.
4) Appointments that are not visible in the current viewport are now printed as expected.

August 22, 2005
Version 4.6.4.0
1) Corrected some internationization display issues on the Appointment dialog screen.
2) The Appointment dialog loads faster, especially in non-English locales.

August 09, 2005
Version 4.6.3.0
1) Corrected an issue that caused the ColoredAreaClick event to not be raised.

July 26, 2005
Version 4.6.2.0
1) Corrected a problem with the 'Subtract' method not returning the correct value for all List classes.
2) corrected an error that occurred when creating recurrences; there was one extra appointment created than was specified in the "End Iterations" box.
3) Corrected an error that occurred when using data mapping instead of straight data binding; some fields were not updated properly.

June 27, 2005
Version 4.6.1.0
1) Corrected an error that caused the underlying bound dataset to not be updated when setting some of the appointment properties.
2) Monthly recurrences scheduled for the last days of the month no longer cause scheduling problems for month with fewer days. Recurrences scheduled for dates greater then the last day of the month are placed on the last day of the respective month.

June 9, 2005
Version 4.6.0.0
1) Added a new property ToolTipAutoPopDelay to control the length of time a tooltip is visible.
2) A bound dataset is now guaranteed to have been updated with the appropriate action before the AfterAppointmentAdd and AfterAppointmentRemove events are raised.
3) Corrected an error that occurred when an alarm was raised a second time for the same in modal fashion and the first as never closed.
4) Corrected an error that occurred when the user right-clicked on the list of appointments in the alarm dialog.
5) Corrected an error that occurred when binding to dataset and removing an appointment with associated providers, resources, and categories.


May 31, 2005
Version 4.5.5.0
1) When creating recurrences appointments can now be added outside of the MinDate-MaxDate range.
2) Appointments now have a new method, ResetRecurrenceStamp, that allows you to make the appointments recurrence current. When you move a recurrent appointment, it displays a broken recurrence icon. This method will reset the icon to as an unbroken recurrence.

May 23, 2005
Version 4.5.0.0
1) Added the BeforeAlarmDrawText event to allow you to change the text written to the alarm dialog.
2) Multiple alarm dialogs have been removed and replaced by one dialog with a list of appointments.
3) The default properties dialog has been rearranged to allow for more efficient data entry.
4) The PriorityCollection has been added to allow you to associate a priority with an appointment.
5) The DialogStyle property has been removed from the AlarmDialogSettings object.
6) The appointment appearance object has new property, NoFill, that enables you to turn off background painting for an appointment.
7) Added the property CategoryEditMode to the AppointmentDialogSettings object that expands the way categories can be edited by the user.

May 16, 2005
Version 4.2.5.0
1) Corrected an issue with the scroll bars being invisible until you clicked on the schedule when using the AutoRedraw property.

May 02, 2005
Version 4.2.3.0
1) Corrected an error on the ScheduleRecurrence usercontrol and dialog screen that caused the up/down controls to display the incorrect values.
2) Corrected an error that occurred when canceling appointment resize in the BeforeAppointmentResize event.
3) Viewmodes with a Timebar in the left margin now display a little more organized.

April 26, 2005
Version 4.2.1.0
1) A new event has been created WhileAppointmentResize to notify when an appointment is in the process of resizing.
2) The BeforeAppointmentResize event is now raised immediately before an appointment is resized and after the WhileAppointmentResize event.
3) The DefaultAppointmentAppearance object will be applied to appointments created automatically when binding to a dataset.
4) Recurrent appointments are now displayed with an icon even if there are no other recurrent appointments in the same pattern visible on the schedule. If an appointment has an associated recurrence object, it will be displayed with the recurrence icon.
5) Corrected an issue that caused the background to scroll when the user clicked on a partially hidden cell. This situation also caused appointment to be created with the incorrect information when double-clicking the background on the periphery of the schedule.

April 19, 2005
Version 4.1.6.0
1) Corrected an issue that caused an appointment not to be dragged if the BeforeDragTip event was cancelled.
2) Add the event BeforeResizeTip.
3) Corrected an issue that caused the appointment length to be calculated incorrectly when resizing an appointment in viewmodes with time but no dates.
4) Corrected an issue that caused the reminder value of appointments alarms to be saved with negative numbers that caused the reminder to be raised after the appointment occurred.


April 11, 2005
Version 4.1.0.0
1) The Recurrence property component now has UpDown controls instead of text boxes.
2) A Recurrence is now removed from the RecurrenceCollection automatically when its last associated appointment is deleted.
3) The last appointment in a recurrence pattern will no longer show the recurrence icon since there are no recurring appointments (2 or more) in the specified pattern.
4) Added two new events, AfterCancelPropertyDialog and AfterSavePropertyDialog, that inform the container whether the default dialog was saved or cancelled.
5) Corrected an exception that occurred on occasion when pressing the <ESC> key with no selected appointment.
6) Added two new events, ColumnHeaderDoubleClick and RowHeaderDoubleClick, that inform the container when a column or row header has been clicked.
7) Corrected an issue that occurred in the ProviderTopTimeLeft viewmode that caused the ColumnHeaderClick to be raised only when the mouse was clicked in a very narrow margin at the top of the Provider header. Clicking anywhere on the Provider header now raises the event.

April 05, 2005
Version 4.0.6.0
1) New event BeforeUserAppointmentRemove and AfterUserAppointmentRemove have been added to notify the container of when the user removes an appointment with the <DELETE> key.
2) Removing an object from the RecurrenceCollection will remove all associated appointment recurrences as well.
3) The SaveXML method on all objects has been optimized to save many times faster.
4) Corrected an error that occurred when adding recurrent appointments in code under certain circumstances.

March 22, 2005
Version 4.0.1.0
1) The new class "BaseObject" is the base class of object Appearance, Appointment, AppointmentAppearance, AppointmentHeaderAppearance, Category, File, IconItem, PropertyItem, Provider, Recurrence, Resource, Room, and ScheduleArea.
2) All collections associated with (holding) the objects above are now derived from the "BaseObjectCollection" class.
3) All list objects are now derived from the "BaseList" class.
4) The binding functionality and default dataset now handle the "IsActivity" property.
5) The PrintDialogSettings object now has a property "WindowState" that controls the preview window's WindowState.
6) Corrected an error that caused provider and category objects to become unassociated with appointments when using the CategoryConfiguration and ProviderConfiguration screens.
7) When moving an appointment in a Provider viewmode with multiple providers assigned to the appointment, all other provider objects that are not the source or target provider will remain unchanged after the move. Previously, all providers were unassociated with the appointment but for the provider on which the appointment was dropped. The same applies to Resources in resource viewmodes.

March 09, 2005
Version 3.8.2.0
1) All references to the Microsoft.VisualBasic.Compatibility DLL have been removed.
2) Updated the default dataset included in install.

February 24, 2005
Version 3.8.0.0
1) ProviderCollection, RoomCollection, and ResourceCollection now all have ToList and Find methods.
2) Corrected an error that occurred when saving from the properties dialog.

February 07, 2005
Version 3.7.7.0
1) The ScheduleAreaCollection now has a Find method.
2) The schedule now supports binding to any class derived from a DataTable or DataView.

January 24, 2005
Version 3.7.6.0
1) You may now bind filtered DataView objects to any of the Binding objects: AppointmentBinding, RoomBinding, etc.

January 10, 2005
Version 3.7.5.0
1) All appearance objects now have properties HatchStyle and HatchColor to define hatch brushes.
2) Corrected an error that caused the appointment resizing outline not to be drawn occasionally.
3) Added the new viewmodes ResourceTopTimeLeft and ResourceLeftTimeTop.
4) A new ResourceCollection object has been added that holds resources to be associated with appointments.
5) The standard dataset has been updated to allow binding the ResourceCollection to a SQL database.
6) The Landscape property has been added to the PrintDialogSettings object to allow print and preview in landscape mode.
7) Corrected an error that caused the page number to not be printed under certain conditions.

November 29, 2004
Version 3.7.0.0
1) Removed the relationship between the Appointment and Recurrence tables in the standard dataset.

November 22, 2004
Version 3.6.5.0
1) The standard dataset has been changed. The Appointment table now has a "Text" field. Also the Room table now has a "Visible" field.
2) The Visible property of the Room object has been fully integrated into the XML format of a Room and the dataset binding.
3) When an appointment's alarm is dismissed by the user, its IsArmed property is now set to false.
4) When an alarm is dismissed in the alarm dialog, is IsArmed property is set to false.
5) The look-and-feel of the Recurrence screen has been changed.
6) You must remove the old database field "alarm_was_dismissed", if it exists, for the binding to work correctly to the APPOINTMENT table.
7) The recurrence collection is now included in the Bind operation to a dataset. If a "Recurrence" datatable exists, it will be used.
8) Appointments no longer have a RecurrenceId property. Each now has a Recurrence property that is either null or references an existing recurrence object from the RecurrenceCollection.
9) An appointment is now considered to be part of a recurrence pattern if its Recurrence object is not null.

November 15, 2004
Version 3.6.0.0
1) Corrected an error when deleting appointments when the MultiSelect property was true.
2) Corrected an error that occurred occasionally when deleting appointments by pressing the <Delete> key.
3) Corrected a display annoyance of Events and Activities not being shown in the most efficient fashion in the event header.
4) Changed the functionality of raising an error when setting the column or row size setting in certain viewmodes where this is not allowed. Now the new value is ignored instead of raising an error.
5) Now use all of the Appearance object's properties of the EventHeader object when drawing the EventHeader.
6) Room objects have a new "Visible" property that allows you to hide the room without removing it from the RoomCollection.
7) Added a RecurrenceCollection so manage the recurrence objects that are created when adding recurrent appointments.
8) Added two new events AppointmentDismissed and AppointmentSnooze for notification of when the user presses dismiss or snooze on an alarm dialog.
9) The Appointment Appearance and Schedule Appearance setup screens no longer display the license screen. 
10) The IconCollection now uses the key parameter passed into the Add method.

October 25, 2004
Version 3.4.0.0
1) The event BackgroundDoubleClick has been added.
2) You may now use the IsConflict methods on appointments that are not part of the AppointmentCollection. This is used in the events like BeforeUserAppointmentAdd and BeforeAppointmentAdd where the appointment parameter has not yet been added to the collection.
3) The SelectedItems collection stays valid after you re-bind to a database.
4) The configuration screens for Rooms, Categories, and Providers now saves faster.
5) Added the ability to resize multi-day appointments with the mouse.

October 12, 2004
Version 3.3.5.0
1) Corrected the screen from repainting when not needed.
2) Highlighting appointments now works better.

September 27, 2004
Version 3.3.0.0
1) An appointment's header is now resized automatically large enough to hold a very large font if necessary.
2) Updated the drawing of appointments is relation to text alignments and margins for text.
3) The AppointmentAppearance object has a new property Ghosted.
4) The infrastructure has been added to provide copy/cut/paste operations.

September 20, 2004
Version 3.2.1.0
1) The ScheduleAreaList class has many more overloaded IndexOf methods.
2) Added a 7 column "MonthFull" viewmode.
3) Added more overloads for the Add method for the ScheduleAreaCollection to allow the creation of more types of ColoredAreaas and NoDropAreas.
4) Corrected the display of appointments marked as Activities. They were not displayed previously.
5) Corrected NoDropAreas and ColoredAreas being drawn with the wrong color when valid and invalid areas were mixed in the same collection.
6) Added a new "Week" viewmode.
7) Added the ability for the Month viewmode to be drawn based on the schedule property FirstDayOfWeek.
8) Double-clicking on the background will only create a new appointment if the left mouse button was used.
9) Double-clicking to edit an appointment will only work if the left mouse button was used.
10) Corrected the AppointmentHeaderClick and AppointmentHeaderDoubleClick events as they were not being raised at the proper time.

September 07, 2004
Version 3.1.0.0
1) Corrected an issue that caused the AfterAppointmentResize event to be raised if the user selected an appointment by clicking on the edge of an appointment without resizing it.
2) Corrected the resize outline displaying in the wrong row/column in viewmodes that display Providers.
3) The BackgroundClick event has a new delegate MouseEventDelegate. The new signature will identify all standard mouse information when clicked.
4) The BackgroundClick event now fires when any mouse button is clicked.
5) A new class ScheduleAreaMouseEventArgs is now used for the ColoredAreaClick and NoDropAreaClick events to contain mouse information.
6) The AppointmentHeaderInfoClick event now takes an object of type AppointmentMouseEventArgs as its parameter.
7) Corrected an error that caused monthly recurrences to not be created when the template appointment day and the "Day" parameter of the recurrence did not match.
8) Added the property ErrorHanding that may be used to toggle on/off advanced error handling which reports any internal errors to Gravitybox.

August 20, 2004
Version 3.0.0.0
1) The HeaderTimeFormat property was added.
2) Added a new class TextAppointmentEventArgs as an event parameter for events that require a text and appointment field.
3) The BeforeToolTip event now takes an TextAppointmentEventArgs object as an event parameter.
4) Added the viewmodes DayTimeLeftProviderTop and DayTimeLeftRoomTop.
5) You now must call the "Bind" method after you set the DataSource property for this settings to take effect.
6) The Refresh event of an appointment header no longer triggers its appointment's Refresh event.
7) All dialog setting objects are now derived from the "DialogSettingsBase" object.
8) The "TimeDialogSettings" object has been renamed "TimeSettings".
9) Added the ability to display objects in the ColoredAreaCollection and NoDropAreaCollection on non-row and non-column boundaries. The start time no longer has to be an even increment of the schedule's TimeIncrement property.
10) Added the ability to data map when binding. This enables you to bind a non-standard dataset to the schedule and map the field names.
11) Added the ability to save UTC times to the database when interfacing with the Gravitybox Enterprise Server.
12) Removed the requirement for a "start_time" field from the dataset to bind it to the schedule. It is now optional. The required field "start_date" now holds both the starting date and time of the appointment.
13) Added the ability to rename the dataset generated in design-mode.
14) Corrected the ColumnHeaderClick event and BackgroundClick event from being raised when the mouse was clicked in the event header margin.
15) Corrected the schedule from scrolling to the top when the AllowSelector property was set to true and the mouse was clicked in the event header margin.
16) The generated dataset now has a new field "recurrence_guid".
17) The appointment datatable field "recurrenceid" has been changed to "recurrence_guid" in the binding dataset.
18) The top header will be multi-line in viewmodes with Providers on top, if any one of the Providers is multi-line.
19) Corrected an overflow error that occurred when MultiSelect toggled on and coping an appointment with the <CTRL> key.

August 09, 2004
Version 2.8.0.0
1) Corrected an issue that caused the DragDrop event to be raised when dragging instead of the DragOver event.
2) Added the ability to add a strongly typed dataset from to your project from the schedule's property window.

August 02, 2004
Version 2.7.7.2
1) Corrected an issue with data binding not functioning properly for custom datasets with non-lower case field names.
2) The Contains and Item methods of all collections were case-sensitive and now are case-insensitive.
3) The ClearComplete event has been added to all collections. It is called after the Clear method of the collection completes.
4) Now when the Clear method of a collection is called on a data bound schedule, the relevant datatable for that collection is cleared. Rows are not removed from the database just the dataset. To remove collection objects from the database call the collection's Remove method.
5) Corrected an issue in viewmodes that showed Rooms and/or Providers with no time axis that caused appointments to be displayed overlapped.
6) Added a Cancel property to the DragAppointmentEventArgs class used for the DragDrop event.

July 22, 2004
Version 2.7.7.0
1) Corrected an error that occurred when changing viewmodes under specific circumstances when the Selector was visible.
2) Corrected an error that caused the DataSourceUpdated event to be fired twice when setting a property of a Provider object.

June 28, 2004
Version 2.7.6.0
1) Corrected a problem with ScheduleArea objects causing erroneous results due to being created with a date that also has a time component or a time that had a date component in the constructor call.
2) Corrected various issues with ScheduleArea objects (NoDropAreaCollection and ColoredAreaCollection) that occurred seldom and only in very specific circumstances.

June 01, 2004
Version 2.7.0.0
1) Corrected a display problem with nodrop and colored areas in viewmodes that showed date, room and time together.

May 26, 2004
Version 2.6.6.0
1) Corrected an issue that caused an appointment not to save from the default property dialog when NoDropAreas where present in some cases.
2) Formatted multi-line room names a little more evenly spaced in headers.

May 20, 2004
Version 2.6.5.0
1) The DialogSettings object has a new property "WindowTitle" that determines the text of the dialog window.
2) When calling the IsOverlap method of the ScheduleAreaList object, the return value is now true when a conflict exists with the parameter list.
3) Corrected a data-binding error that prevented appointments from being viewed in some viewmodes when an Appointment's Appearance_guid field is DbNull.
4) The component now shows up in the "Add Reference" dialog box in VS.NET.

May 13, 2004
Version 2.6.4.0
1) Added a bit more robust data binding for fields in the PropertyItemCollection of all built-in objects.
2) The IsConflict method of the AppointmentCollection object called with an appointment as the only parameter now checks the entire collection for conflicts against the specified appointment parameter.
3) Corrected a databinding issue that caused the appointment to have zero length when binding fields MinLength and MaxLength.

May 05, 2004
Version 2.6.3.0
1) Corrected an issue that caused the in-place-edit to not work under some circumstances.
2) Enhanced dragging functionality.
3) Corrected an error that occurred when updating a bound dataset manually instead of letting the schedule perform the update. Specifically updating custom fields in a bound table that the schedule does not recognize like "MyField".
4) The StringFormatFlags property of the Appearance object no longer throws an exception when used in the VS.NET designer.
5) Corrected the display of appointments that span three or more days.
6) Non-appointment objects can be dropped on a schedule if the AllowForeignDrops property is set to true.
7) Removed the MS-Office dependency from the installation.

April 14, 2004
Version 2.5.3.0
1) Datasets with columns set to allow DbNull now allow the value to be DbNull. If an object in the PropertyItemCollection is set to null in code, it will be saved as DbNull in the bound dataset. This only applies to schedules that are bound to a dataset.
2) More robust error handling was added that allows errors to be directly reported to Gravitybox.
3) Context sensitive help has been added that is visible in the VS.NET environment.

April 5, 2004
Version 2.5.1.0
1) Added the method CreateDefaultAppointment to create an appointment at a point.
2) Corrected the display of appointments in viewmodes that show provider information, where the appointments were not showing up more than one scroll from the origin.
3) Corrected appointments displaying in the wrong room in viewmode DayRoomLeftTimeTop.

March 29, 2004
Version 2.4.3.0
1) Appointments with their IsReadOnly property set to true no longer can be resized or removed.
2) Added two new events: BeforeUserAppointmentAdd and AfterUserAppointmentAdd.
3) Added a cancel parameter to the AfterAppointmentResize event.
4) The schedule's EndTime property now is read/write.

March 01, 2004
Version 2.4.2.0
1) Added database controllers to the installation.

February 23, 2004
Version 2.4.1.0
1) Corrected an error in the display of colors loaded from a database in bound mode.
2) Corrected an error that occurred when the schedule was bound to a dataset and the user tried to copy an appointment.
3) Corrected an error that occurred when the schedule was bound to a dataset and one of the Boolean appointment properties value was set to null in the database.
4) The AllowAdd and AllowRemove properties now function properly.
5) Added the WebSchedule component as well as the database controllers to the Gravitybox Schedule.NET package.
6) The DialogSetting object property AllowDelete has been renamed to AllowRemove.

February 09, 2004
Version 2.4.0.0
1) Modified the signature of the Dialogs.ShowAlarmDialog method to include a settings object for customization.
2) The BeforeAppointmentEventArgs object now contains a DialogSettings property used to customize the alarm/reminder popup form.
3) Corrected some conversion errors that occurred in cultures with a comma as the decimal separator. 
4) Corrected a error that occurred when switching from Month viewmode to any other viewmode when the AutoFit property of the ColumnHeader or RowHeader objects was true.

January 26, 2004
Version 2.3.6.0
1) The AfterAppointmentMove and AfterAppointmentCopy events now have the actual appointment passed as a parameter to the events.
2) When binding a dataset to the schedule, all fields that do not map to an object property will be added to the PropertyItemCollection of the respective object.

January 20, 2004
Version 2.3.5.0
1) Corrected an error that occurred on systems that use "," as the decimal separator (for example Europe).
2) The AppointmentAppearance object now has a property ShadowSize used to draw a shadow around appointments.
3) A problem has been corrected that caused the provider or category bars not to be drawn in the time margin even when TimeBar was set to provider or category.
4) Increased the performance (decreased time) when loading appointments with the AutoRedraw property set to false.
5) Increased the performance (decreased time) when performing an appointment move and various other activities.

January 12, 2004
Version 2.3.0.0
1) New properties SubjectPrompt, StartTimePrompt, EventPrompt, and ReminderPrompt have been added to the AppointmentDialogSettings object and AppointmentProperties UserControl.
2) The AppointmentProperties UserControl now displays the object properties ObjectSingular and ObjectPlural from the schedule objects RoomCollection, ProviderCollection, and CategoryCollection correctly on the appropriate labels.
3) The recurrence dialog screen (and control) now has the correct text displayed in the left most drop-down box when using the monthly setting.
4) An error that occurred when saving a recurrence dialog that was configured for the monthly setting has been corrected.
5) The cursor is now set to vertical split when resizing an appointment in a viewmode where time is displayed in the top margin.
6) The method OnBeforeApplicationExecute and event BeforeApplicationExecute has been removed.
7) A display problem that occurred when drawing the text of appointments marked as events has been corrected.

January 05, 2004
Version 2.2.3.0
1) Corrected an error that occasionally occurred when drawing appointment headers.
2) The Sort method of the AppointmentCollection now sorts even when AutoRedraw is set to false.
3) When the property "e.DialogSettings.AllowMasterCategories" is set to false in the schedule event BeforePropertyDialog, the OK button of the Category screen was not visible; this has been corrected.
4) Listboxes on built-in dialogs now have their IntegralHeight property set to false.
5) The Visibility object method ShowTime now ignores the date portion to accommodate C# applications.
6) The ColumnHeader and RowHeader size is preserved when switching from a non-month viewmode to the month viewmode and back again.

December 16, 2003
Version 2.2.2.0
1) Corrected a display issue that occurred in viewmodes showing providers and having appointments with more than one associated provider object.
2) The Appointment object now has a new method ToVCAL that will create a file of the standard format for appointment interchange.
3) Corrected the issue that caused the user to not be able to resize rows and columns that was introduced in a previous version.
4) The Datasource property now supports a dataset with a 'Category' datatable.
5) The schedule properties GridForeColor and GridBackColor have been removed. Use the Appearance object's BackColor and ForeColor properties.
6) The Alarm object properties ApplicationName and ApplicationArgs have been made obsolete and will be removed in the next version. You must build your own launch code in the 'BeforeAppointmentDue' event.
7) Various improvements to the databinding functionality.
8) Corrected the display of events as some were invisible.
9) The ColumnHeader appearance object's Alignment property applies to the day numbers (1,2) not the day headers (Sun,Mon) in the month viewmode.
10) There are new events: VerticalScroll and HorizontalScroll.
11) The signatures for BeforeRoomHeaderDraw and BeforeProviderHeaderDraw events have changed.
12) The Appearance object did not persist FontSize and FontUnit property. This has been corrected.

December 02, 2003
Version 2.2.1.0
1) Corrected an error that occurred in viewmode DayRoomTopTimeLeft when the user tried to select a schedule area by holding the <SHIFT> key and pressing the up arrow.
2) The schedule property Datasource is no now only available at run-time.
3) All datatables of the dataset that feed the schedule's Datasource property now have different key names (see documentation).

November 21, 2003
Version 2.2.0.0
1) The schedule now has a property named Datasource that allows the schedule to be bound directly to a dataset.
2) Multi-line room headers now display on multiple lines when displayed in column headers.
3) Appointment dragging has been corrected where certain settings of TimeIncrement and AppointmentTimeIncrement conflict with each other to make an appointment move incorrectly.
4) Corrected an issue with moving appointments where an appointment would not move to the correct room in viewmodes with rooms.
5) Two new events have been added: ColumnHeaderClick and RowHeaderClick.
6) Minimizing a window that contains a schedule with background gradients no longer causes an error.
7) Corrected an drawing error that occurred when resizing a schedule that is anchored to multiple edges of a maximized window that is later set to its normal size.
8) Printing a schedule with either the ColumnHeader or RowHeader AutoFit property set to true will now fit the print on one page, wither vertically or horizontally, whichever is appropriate.

November 09, 2003
Version 2.1.0.0
1) Add the object RecurrenceDialogSettings to setup the recurrence dialog.
2) The AppointmentDialogSettings class now has a new property named RecurrenceDialogSettings that is used to setup the Recurrence dialog from the default appointment dialog.
3) All translations have been removed from the software package. You must setup the language through dialog setting parameters and object properties.
4) The event BeforeDragTip was added to allow you to customize or cancel the tip visible while dragging an appointment.
5) The properties DateString and TimeString were added to the AppointmentSizeEventsArgs class and are used to define language specific text for the resizing tip.
6) When the source and target schedule of an appointment move is the same, the appointment is no longer removed and added to the AppointmentCollection.
7) The Appointment object Clone method now copies all properties as well as its Appearance object and its header's Appearance object.
8) There are new events: BeforePrintHeader, BeforePrintFooter, and BeforePrintPageNumber.
9) The new PrintSetup event allows you to initialize how headers and footers are displayed.
10) The Printing event chain has been enhanced. The order of events when printing as as follows: PrintSetup, BeforePrintHeader, BeforePrintFooter, BeforePrintPageNumber, and PrintProgress.

November 04, 2003
Version 2.0.1.0
1) When printing a schedule there is no longer a blank page printed.
2) Pressing the print button from the schedule print preview window now sends the schedule to the printer.

November 01, 2003
Version 2.0.0.0
1) The PropertyItemCollection and RecurrenceCollection classes now have 5 events and methods like the other collections for Refresh, Reload, AfterAdd, AfterRemove, BeforeAdd, and BeforeRemove.
2) All collections and collection elements now have a default event: Refresh.
3) Added more robust design-time support.
4) The classes CategoryList, ProviderList, and AppointmentList must have a parent schedule object specified in their constuctors for creation.
5) The AppointmentCollection method "GetListByRecurrenceId" has been changed to "GetRecurrences".
6) The AppointmentCollection class has two new methods: GetBlocked and GetUnBlocked.
7) The "IsAreaAvailable" and "NextAreaAvailable" methods of the schedule's Availability object have been moved to the AppointmentList object.
8) The "ConflictList" method of the schedule's Availability object has been moved to the AppointmentList object and renamed "GetConflicts".
9) The "IsConflict" methods of the schedule's Availability object have been moved to the AppointmentList and AppointmentCollection objects.
10) The "IsAreaEnabled" methods of the schedule's Availability object have been moved to the ScheduleAreaCollection objects and renamed "IsAreaOverlap".
11) The schedule's Availability object has been completely removed from the object modal.
12) The classes CategoryCollection, ProviderCollection, and AppointmentCollection all have a "ToList" method to convert to CategoryList, ProviderList, and AppointmentList respectively.
13) The DateRangeChange event is now raised after the SetMinMaxDate method is called, in addition to being called by resetting the MinDate and MaxDate properties.
14) A new class has been added to the Gravitybox.Object namespace: ScheduleAreaList.
15) The method "IsAreaOverlap" of the ScheduleAreaCollection class has been move the ScheduleAreaList class and renamed "IsOverlap".
16) The Appointment class property "IsActivity" is no longer read-only. It is read-write so a multi-day appointment can be displayed across multiple days or be displayed in the event margin.
17) Event appointments are no longer displayed if the AllowEvents is set to false.
18) The schedule has a new property object "EventHeader" that controls the display and visibility of the event header.
19) The property AllowEvents has been move to the new "EventHeader" property object and renamed "AllowHeader".
20) The appointment Subject property is now displayed in all rectangles of an appointment. A multi-day appointment may be drawn as more than one rectangle and now its text is displayed in each of its areas.

October 22, 2003
Version 1.8.1.0
1) Now when calling the Clone method of any object, its event hooks will not disappear.
2) Appointments are no longer removed and then re-added to the AppointmentCollection when moved.
3) Clicking 'Reset Appearances' on the property grid at design-time will now mark the control as changed so that it will be saved when the designer is closed.
4) Objects with a Refresh event and OnRefresh method may now be hook into an event chain without causing exceptions when serialized.
5) The Refresh event in collections is now raised when an object in the collection changes.
6) The AppointmentList, CategoryList, and ProviderList objects now have the following methods: OnBeforeAdd, OnAfterAdd, OnBeforeRemove, OnAfterRemove, OnValidateRemove, OnReload, and OnRefresh.
7) The AppointmentList, CategoryList, and ProviderList objects now have the following events: BeforeAdd, AfterAdd, BeforeRemove, AfterRemove, ValidateRemove, Reload, and Refresh.
8) Every object's Appearance object now has new properties to support gradients: BackColor2 and BackGradientStyle.
9) The schedule control has a new property object named Appearance.
10) The schedule properties GridBackColor and GridForeColor have been marked obsolete, replaced by the new schedule property object Appearance.
11) The Appearance object has new properties that define the way text is drawn: TextTrimmings and TextVAlign.
12) The "Color" property of the ScheduleSelector object has been marked obsolete and replaced by the Appearance object's backcolor.
13) The ScheduleSelector object has a new property Appearance.
14) The Reloaded event has been added to most objects in the Gravitybox.Objects namespace that is raised when an object is created from XML.
15) All objects in the Gravitybox.Objects namespace now raise a Refresh event when any of their properties changes.
16) When editing an appointment in-place you may press the <CTRL><ENTER> key combination to add multiple lines.

September 29, 2003

Version 1.7.0.0
1) The GetListByRecurrenceId method return value is not of type AppointmentList, not AppointmentCollection
2) The schedule may now be displayed from 12:00AM for 24 hours.
3) Added the ability to create ScheduleAreas defined by Room and Time. This applies to the ColoredAreaCollection and NoDropAreaCollection.
4) Removed existing BackColor, ForeColor, BorderColor and font properties from all relevant objects and replaced them with an Appearance object.
5) Added a base Appearance object that is used to define object display.
6) Created or modified the objects AppointmentAppearance and AppointmentHeaaderAppearance that derive from the base Appearance object.
7) Added ability to control each ScheduleArea object's display with the new Appearance object. This allows you to control the display of objects in the NoDropAreaCollection and ColoredAreaCollection.
8) Read-only appointments can no longer be moved or copied.

September 08, 2003
Version 1.6.5.0
1) The dialog setting for the default dialog has three new properties: SubjectLength, TextLength, and NotesLength. These define the maximum length of the text in the associated textboxes for the appointment properties: Subject, Text, and Notes.
2) The AppointmentProperties control has two new properties: SubjectLength and TextLength. These define the maximum length of the text in the associated textboxes for the appointment properties: Subject and Text.
3) When the user double-clicks to create an appointment and cancel the default dialog screen, the newly added appointment is removed after the dialog is cancelled.
4) When the default properties dialog is displayed, the "Subject" field will have focus if available.
5) The object Gravitybox.Objects.Header has a new property FrameIncrement that specifies the number of rows or columns that are displayed in the schedule's viewable area at one time.
6) A new property AppointmentTimeIncrement has been added that will control the time resolution to which an appointment may be moved or resized.
7) The IconCollection has new overloaded Add methods that allows an icon's size to be specified when adding.
8) Added toolbox icons for all Gravitybox controls.

August 29, 2003
Version 1.6.4.0
1) The AppointmentCollection's HitTest method now loops through the collection backwards when checking.
2) When clicking on an appointment that overlaps another, the appointment displayed directly under the mouse is selected.
3) The appointment-resizing rectangle now displays overlapping the appointment rectangle in viewmodes that show dates and rooms on the same axis.
4) Corrected appointment display errors that occurred when certain conflict configurations are present.
5) If an appointment's visible property is set to false, the user will no longer be able to manipulate it. This corrects an issue where an appointment with this setting was invisible but could be dragged and edited if the user knew where to click.

July 24, 2003
Version 1.6.3.0
1) Corrected various issues with the sample applications.

July 14, 2003
Version 1.6.2.0
1) Compiled the Schedule so that VS.NET 2002 can use the schedule DLL. Also VS.NET 2002 can now load the test projects.

July 07, 2003
Version 1.6.0.1
1) Remove the AllowPropertyDialog property as it had no functionality.
2) The enumeration AppointmentResizing had two of its properties changed to be more intuitive: TopLeft changed to StartTime and BottomRight changed to Length.
3) Added the events to the schedule: AppointmentHeaderClick and AppointmentHeaderDoubleClick.
4) Appointments now clip icons that do not fit in the appointment's rectangle.
5) Corrected the RemoveAll method of object types ProviderList, CategoryList, and AppointmentList to remove the correct object specified by the parameter.
6) When moving an appointment in a viewmode that displays providers, only one provider object will remain in the appointment's ProviderList after the move.
7) Appointments with a date greater than the MaxDate are no longer displayed in viewmodes that display dates and rooms on the same axis.

June 30, 2003
Version 1.6.0.0
1) NOTICE THE ENTIRE SCHEDULE NAMESPACE HAS CHANGED! The controls are under "Gravitybox.Controls" and the objects are under "Gravitybox.Objects".
2) The alarm form will not longer pop-up after its dismiss button is pressed unless the appointment's date or time is reset afterwards.
3) Appointment headers that display time now use the schedule's ClockSettting property. 
4) An appointment's single-line header no longer wraps text if the text is too long to fit in the bounding rectangle.
5) Appointment icons are now started inline with the appointment subject instead a few pixels Y-offset.
6) Corrected a display issue where a portion of an appointment was visible when it was outside of the mindate/maxdate range.
7) Each appointment's Header object will have new properties: FontBold, FontUnderline, FontItalics, and FontStrikeout.
8) When saving or loading objects using the built-in XML routines, dates and times are now independent of the regional settings.
9) The property grid now displays and edits time property values correctly.
10) The appointment property dialog has more pleasant spacing of child controls.

May 06, 2003
Version 1.5.0.0
1) The "GbSchedule.dll" file has been given a strong name so that there is no reason to have it copied local in all VS.NET projects.
2) The <SHIFT> key now allows the selector to be used to select an area larger than one cell with the keyboard.
3) Protected methods named "On[EVENT]" have been added for all events.
4) The keyboard may be used now to resize appointments with the <SHIFT> and arrow keys.
5) In viewmodes with time displayed in the left margin and 12-hour format, the "00" minute text becomes "AM" or "PM" for the first visible hour displayed.
6) Changed the text being used for an appointment's tooltip from its Subject property to the ToolTipText property.
7) Added "Designers" for design-time setup of Rooms, Providers, and Categories.
8) Added a DefaultAppointmentAppearance object to define the look-and-feel of appointments.
9) A license find dialog has been added to search for the LIC file when it is not in the same folder as the GbSchedule.dll file.
10) Added ability to properly use the AppointmentResizing property.
11) More properties may now be configured in the property grid at design-time.
12) Sample applications have been enhanced.
13) Numerous internal enhancements have been added.

Mar 31, 2003
Version 1.0.1183.30229
1) Removed the "Selector..." properties and replaced them with a Selector object.
2) Added "Doctor" example to install
3) Numerous internal optimizations
4) Removed the AppointmentBar and AppointmentBarSize properties
5) Added schedule properties (as objects): AppointmentBar and TimeBar

Mar 17, 2003
Version 1.0.0.19950
1) Initial Release