private void TabPageEventHandler(object sender, TTabPageEventArgs ATabPageEventArgs)
        {
            if (ATabPageEventArgs.Event == "InitialActivation")
            {
                if (ATabPageEventArgs.Tab == tpgAddresses)
                {
                    FCurrentlySelectedTabPage = TPartnerEditTabPageEnum.petpAddresses;

                    // Hook up RecalculateScreenParts Event
                    FUcoAddresses.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateTabHeaderCounters);

                    FUcoAddresses.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoAddresses.HookupDataChange += new THookupPartnerEditDataChangeEventHandler(Uco_HookupDataChange);

                    FUcoAddresses.SpecialInitUserControl();

                    CorrectDataGridWidthsAfterDataChange();
                }
                else if (ATabPageEventArgs.Tab == tpgContactDetails)
                {
                    FCurrentlySelectedTabPage = TPartnerEditTabPageEnum.petpContactDetails;

                    FUcoContactDetails.SpecialInitUserControl();
                }
                else if (ATabPageEventArgs.Tab == tpgPartnerDetails)
                {
                    FCurrentlySelectedTabPage = TPartnerEditTabPageEnum.petpDetails;

                    // TODO
                }
                else if (ATabPageEventArgs.Tab == tpgFoundationDetails)
                {
                    FCurrentlySelectedTabPage = TPartnerEditTabPageEnum.petpFoundationDetails;

                    // TODO
                }
                else if (ATabPageEventArgs.Tab == tpgSubscriptions)
                {
                    FCurrentlySelectedTabPage = TPartnerEditTabPageEnum.petpSubscriptions;

                    // Hook up RecalculateScreenParts Event
                    FUcoSubscriptions.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateTabHeaderCounters);

                    FUcoSubscriptions.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoSubscriptions.HookupDataChange += new THookupPartnerEditDataChangeEventHandler(Uco_HookupPartnerEditDataChange);

                    FUcoSubscriptions.SpecialInitUserControl();

                    CorrectDataGridWidthsAfterDataChange();
                }
                else if (ATabPageEventArgs.Tab == tpgPartnerTypes)
                {
                    FCurrentlySelectedTabPage = TPartnerEditTabPageEnum.petpPartnerTypes;

                    // Hook up RecalculateScreenParts Event
                    FUcoPartnerTypes.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateTabHeaderCounters);

                    FUcoPartnerTypes.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoPartnerTypes.HookupDataChange += new THookupPartnerEditDataChangeEventHandler(Uco_HookupPartnerEditDataChange);

                    FUcoPartnerTypes.SpecialInitUserControl();

                    CorrectDataGridWidthsAfterDataChange();
                }
                else if (ATabPageEventArgs.Tab == tpgPartnerRelationships)
                {
                    FCurrentlySelectedTabPage = TPartnerEditTabPageEnum.petpPartnerRelationships;

                    // Hook up RecalculateScreenParts Event
                    FUcoPartnerRelationships.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateTabHeaderCounters);

                    FUcoPartnerRelationships.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoPartnerRelationships.HookupDataChange += new THookupPartnerEditDataChangeEventHandler(Uco_HookupPartnerEditDataChange);

                    FUcoPartnerRelationships.SpecialInitUserControl();

                    CorrectDataGridWidthsAfterDataChange();
                }
                else if (ATabPageEventArgs.Tab == tpgFamilyMembers)
                {
                    FCurrentlySelectedTabPage = TPartnerEditTabPageEnum.petpFamilyMembers;

                    // Hook up RecalculateScreenParts Event
                    FUcoFamilyMembers.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateTabHeaderCounters);

                    FUcoFamilyMembers.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoFamilyMembers.HookupDataChange += new THookupPartnerEditDataChangeEventHandler(Uco_HookupPartnerEditDataChange);
                    FUcoFamilyMembers.InitialiseDelegateIsNewPartner(FDelegateIsNewPartner);
                    FUcoFamilyMembers.InitialiseDelegateGetPartnerLocationRowOfCurrentlySelectedAddress(
                        Get_LocationRowOfCurrentlySelectedAddress);

                    FUcoFamilyMembers.SpecialInitUserControl();

                    CorrectDataGridWidthsAfterDataChange();
                }
                else if (ATabPageEventArgs.Tab == tpgNotes)
                {
                    FCurrentlySelectedTabPage = TPartnerEditTabPageEnum.petpNotes;

                    // Hook up RecalculateScreenParts Event
                    FUcoNotes.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateTabHeaderCounters);
                }
                else if (ATabPageEventArgs.Tab == tpgOfficeSpecific)
                {
                    FCurrentlySelectedTabPage = TPartnerEditTabPageEnum.petpOfficeSpecific;

                    FUcoOfficeSpecific.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoOfficeSpecific.HookupDataChange += new THookupPartnerEditDataChangeEventHandler(Uco_HookupPartnerEditDataChange);

                    FUcoOfficeSpecific.SpecialInitUserControl();

                    CorrectDataGridWidthsAfterDataChange();
                }
                else if (ATabPageEventArgs.Tab == tpgFinanceDetails)
                {
                    // see PreInitUserControl below
                    FUcoFinanceDetails.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateTabHeaderCounters);
                }
                else if (ATabPageEventArgs.Tab == tpgInterests)
                {
                    FCurrentlySelectedTabPage = TPartnerEditTabPageEnum.petpInterests;

                    // Hook up RecalculateScreenParts Event
                    FUcoInterests.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateTabHeaderCounters);

                    FUcoInterests.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoInterests.HookupDataChange += new THookupPartnerEditDataChangeEventHandler(Uco_HookupPartnerEditDataChange);

                    FUcoInterests.SpecialInitUserControl();

                    CorrectDataGridWidthsAfterDataChange();
                }
                else if (ATabPageEventArgs.Tab == tpgContacts)
                {
                    FCurrentlySelectedTabPage = TPartnerEditTabPageEnum.petpContacts;

                    FUcoContacts.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoContacts.HookupDataChange += new THookupPartnerEditDataChangeEventHandler(Uco_HookupPartnerEditDataChange);
                    FUcoContacts.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateTabHeaderCounters);
                }

                FPetraUtilsObject.RestoreAdditionalWindowPositionProperties();
            }
        }
        private void TabPageEventHandler(object sender, TTabPageEventArgs ATabPageEventArgs)
        {
            if (ATabPageEventArgs.Event == "InitialActivation")
            {
                if (ATabPageEventArgs.Tab == tpgIndividualData)
                {
                    FCurrentlySelectedTabPage = TPartnerEditTabPageEnum.petpPersonnelIndividualData;

                    CorrectDataGridWidthsAfterDataChange();
                }
                else if (ATabPageEventArgs.Tab == tpgApplications)
                {
                    FCurrentlySelectedTabPage = TPartnerEditTabPageEnum.petpPersonnelApplications;

                    // Hook up RecalculateScreenParts Event
                    FUcoApplications.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateTabHeaderCounters);

                    CorrectDataGridWidthsAfterDataChange();
                }
            }
        }