// Static Create method called by the event tracker system
        internal static void RaiseEvents(IntPtr hwnd, int eventId, object idProp, int idObject, int idChild)
        {
            if (idObject != NativeMethods.OBJID_VSCROLL && idObject != NativeMethods.OBJID_HSCROLL)
            {
                WindowsDateTimePicker wdt = new WindowsDateTimePicker(hwnd, null, 0);

                if (eventId == NativeMethods.EventObjectNameChange)
                {
                    if (idProp == ValuePattern.ValueProperty && idObject == NativeMethods.OBJID_WINDOW)
                    {
                        // The dispatch method expects EventObjectValueChange for the Value change property
                        eventId  = NativeMethods.EventObjectValueChange;
                        idObject = NativeMethods.OBJID_CLIENT;
                    }
                    else
                    {
                        // The name of the control should never change
                        return;
                    }
                }

                wdt.DispatchEvents(eventId, idProp, idObject, idChild);
            }
        }