/// <summary>
        /// Event is fired when an Individual Data Item LinkLabel is 'clicked'.
        /// </summary>
        /// <param name="ASender">One of the Individual Data Item LinkLabels. Determines what action is taken.</param>
        /// <param name="e">Not evaluated.</param>
        /// <returns>void</returns>
        private void IndividualDataItemSelected(object ASender, EventArgs e)
        {
            if ((ASender != FCurrentLinkLabel)
                && !ValidateCurrentDataItem())
            {
                // do not accept new link section if current one is not validated properly
                return;
            }

            /*
             * Raise the following Event to inform the base Form that we might be loading some fresh data.
             * We need to bypass the ChangeDetection routine while this happens.
             */
            OnDataLoadingStarted(this, new EventArgs());

            ResetAllBackColors();

            if (ASender == llbOverview)
            {
                ucoSummaryData.BringToFront();
                llbOverview.BackColor = PanelHelperBackGround;
            }
            else if (ASender == llbSpecialNeeds)
            {
                if (!FUserControlSetup.ContainsKey(TDynamicLoadableUserControls.dlucSpecialNeeds))
                {
                    if (TClientSettings.DelayedDataLoading)
                    {
                        // Signalise the user that data is beeing loaded
                        this.Cursor = Cursors.AppStarting;
                    }

                    FUcoSpecialNeeds = (Ict.Petra.Client.MPartner.Gui.TUC_IndividualData_SpecialNeeds)DynamicLoadUserControl(
                        TDynamicLoadableUserControls.dlucSpecialNeeds);
                    FUcoSpecialNeeds.MainDS = FMainDS;
                    FUcoSpecialNeeds.PetraUtilsObject = FPetraUtilsObject;
                    FUcoSpecialNeeds.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoSpecialNeeds.SpecialInitUserControl(FMainDS);
                    FUcoSpecialNeeds.InitUserControl();
                    ((IFrmPetraEdit)(this.ParentForm)).GetPetraUtilsObject().HookupAllInContainer(FUcoSpecialNeeds);

                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "InitialActivation"));

                    this.Cursor = Cursors.Default;
                }
                else
                {
                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "SubsequentActivation"));

                    /*
                     * The following command seems strange and unnecessary; however, it is necessary
                     * to make things scale correctly on "Large Fonts (120DPI)" display setting.
                     */
                    if (TClientSettings.GUIRunningOnNonStandardDPI)
                    {
                        FUcoSpecialNeeds.AdjustAfterResizing();
                    }
                }

                llbSpecialNeeds.BackColor = PanelHelperBackGround;

                LimitTabStopToItem(FUcoSpecialNeeds);
                FUcoSpecialNeeds.Parent.BringToFront();
            }
            else if (ASender == llbLanguages)
            {
                if (!FUserControlSetup.ContainsKey(TDynamicLoadableUserControls.dlucPersonalLanguages))
                {
                    if (TClientSettings.DelayedDataLoading)
                    {
                        // Signalise the user that data is beeing loaded
                        this.Cursor = Cursors.AppStarting;
                    }

                    FUcoPersonalLanguages = (Ict.Petra.Client.MPartner.Gui.TUC_IndividualData_PersonalLanguages)DynamicLoadUserControl(
                        TDynamicLoadableUserControls.dlucPersonalLanguages);

                    // Hook up RecalculateScreenParts Event
                    FUcoPersonalLanguages.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateLinkLabelCounters);

                    FUcoPersonalLanguages.MainDS = FMainDS;
                    FUcoPersonalLanguages.PetraUtilsObject = FPetraUtilsObject;
                    FUcoPersonalLanguages.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoPersonalLanguages.SpecialInitUserControl(FMainDS);
                    FUcoPersonalLanguages.InitUserControl();
                    ((IFrmPetraEdit)(this.ParentForm)).GetPetraUtilsObject().HookupAllInContainer(FUcoPersonalLanguages);

                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "InitialActivation"));

                    this.Cursor = Cursors.Default;
                }
                else
                {
                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "SubsequentActivation"));

                    /*
                     * The following command seems strange and unnecessary; however, it is necessary
                     * to make things scale correctly on "Large Fonts (120DPI)" display setting.
                     */
                    if (TClientSettings.GUIRunningOnNonStandardDPI)
                    {
                        FUcoPersonalLanguages.AdjustAfterResizing();
                    }
                }

                llbLanguages.BackColor = PanelHelperBackGround;

                LimitTabStopToItem(FUcoPersonalLanguages);
                FUcoPersonalLanguages.Parent.BringToFront();
            }
            else if (ASender == llbProgressReports)
            {
                if (!FUserControlSetup.ContainsKey(TDynamicLoadableUserControls.dlucProgressReports))
                {
                    if (TClientSettings.DelayedDataLoading)
                    {
                        // Signalise the user that data is beeing loaded
                        this.Cursor = Cursors.AppStarting;
                    }

                    FUcoProgressReports = (Ict.Petra.Client.MPartner.Gui.TUC_IndividualData_ProgressReports)DynamicLoadUserControl(
                        TDynamicLoadableUserControls.dlucProgressReports);

                    // Hook up RecalculateScreenParts Event
                    FUcoProgressReports.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateLinkLabelCounters);

                    FUcoProgressReports.MainDS = FMainDS;
                    FUcoProgressReports.PetraUtilsObject = FPetraUtilsObject;
                    FUcoProgressReports.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoProgressReports.SpecialInitUserControl(FMainDS);
                    FUcoProgressReports.InitUserControl();
                    ((IFrmPetraEdit)(this.ParentForm)).GetPetraUtilsObject().HookupAllInContainer(FUcoProgressReports);

                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "InitialActivation"));

                    this.Cursor = Cursors.Default;
                }
                else
                {
                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "SubsequentActivation"));

                    /*
                     * The following command seems strange and unnecessary; however, it is necessary
                     * to make things scale correctly on "Large Fonts (120DPI)" display setting.
                     */
                    if (TClientSettings.GUIRunningOnNonStandardDPI)
                    {
                        FUcoProgressReports.AdjustAfterResizing();
                    }
                }

                llbProgressReports.BackColor = PanelHelperBackGround;

                LimitTabStopToItem(FUcoProgressReports);
                FUcoProgressReports.Parent.BringToFront();
            }
            else if (ASender == llbCommitmentPeriods)
            {
                if (!FUserControlSetup.ContainsKey(TDynamicLoadableUserControls.dlucCommitmentPeriods))
                {
                    if (TClientSettings.DelayedDataLoading)
                    {
                        // Signalise the user that data is beeing loaded
                        this.Cursor = Cursors.AppStarting;
                    }

                    FUcoCommitmentPeriods = (Ict.Petra.Client.MPartner.Gui.TUC_IndividualData_CommitmentPeriods)DynamicLoadUserControl(
                        TDynamicLoadableUserControls.dlucCommitmentPeriods);

                    // Hook up RecalculateScreenParts Event
                    FUcoCommitmentPeriods.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateLinkLabelCounters);

                    FUcoCommitmentPeriods.MainDS = FMainDS;
                    FUcoCommitmentPeriods.PetraUtilsObject = FPetraUtilsObject;
                    FUcoCommitmentPeriods.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoCommitmentPeriods.SpecialInitUserControl(FMainDS);
                    FUcoCommitmentPeriods.InitUserControl();
                    ((IFrmPetraEdit)(this.ParentForm)).GetPetraUtilsObject().HookupAllInContainer(FUcoCommitmentPeriods);

                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "InitialActivation"));

                    this.Cursor = Cursors.Default;
                }
                else
                {
                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "SubsequentActivation"));

                    /*
                     * The following command seems strange and unnecessary; however, it is necessary
                     * to make things scale correctly on "Large Fonts (120DPI)" display setting.
                     */
                    if (TClientSettings.GUIRunningOnNonStandardDPI)
                    {
                        FUcoCommitmentPeriods.AdjustAfterResizing();
                    }
                }

                llbCommitmentPeriods.BackColor = PanelHelperBackGround;

                LimitTabStopToItem(FUcoCommitmentPeriods);
                FUcoCommitmentPeriods.Parent.BringToFront();
            }
            else if (ASender == llbPersonSkills)
            {
                if (!FUserControlSetup.ContainsKey(TDynamicLoadableUserControls.dlucPersonSkills))
                {
                    if (TClientSettings.DelayedDataLoading)
                    {
                        // Signalise the user that data is beeing loaded
                        this.Cursor = Cursors.AppStarting;
                    }

                    FUcoPersonSkills = (Ict.Petra.Client.MPartner.Gui.TUC_IndividualData_PersonSkills)DynamicLoadUserControl(
                        TDynamicLoadableUserControls.dlucPersonSkills);

                    // Hook up RecalculateScreenParts Event
                    FUcoPersonSkills.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateLinkLabelCounters);

                    FUcoPersonSkills.MainDS = FMainDS;
                    FUcoPersonSkills.PetraUtilsObject = FPetraUtilsObject;
                    FUcoPersonSkills.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoPersonSkills.SpecialInitUserControl(FMainDS);
                    FUcoPersonSkills.InitUserControl();
                    ((IFrmPetraEdit)(this.ParentForm)).GetPetraUtilsObject().HookupAllInContainer(FUcoPersonSkills);

                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "InitialActivation"));

                    this.Cursor = Cursors.Default;
                }
                else
                {
                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "SubsequentActivation"));

                    /*
                     * The following command seems strange and unnecessary; however, it is necessary
                     * to make things scale correctly on "Large Fonts (120DPI)" display setting.
                     */
                    if (TClientSettings.GUIRunningOnNonStandardDPI)
                    {
                        FUcoPersonSkills.AdjustAfterResizing();
                    }
                }

                llbPersonSkills.BackColor = PanelHelperBackGround;

                LimitTabStopToItem(FUcoPersonSkills);
                FUcoPersonSkills.Parent.BringToFront();
            }
            else if (ASender == llbPersonalAbilities)
            {
                if (!FUserControlSetup.ContainsKey(TDynamicLoadableUserControls.dlucPersonalAbilities))
                {
                    if (TClientSettings.DelayedDataLoading)
                    {
                        // Signalise the user that data is beeing loaded
                        this.Cursor = Cursors.AppStarting;
                    }

                    FUcoPersonalAbilities = (Ict.Petra.Client.MPartner.Gui.TUC_IndividualData_Abilities)DynamicLoadUserControl(
                        TDynamicLoadableUserControls.dlucPersonalAbilities);

                    // Hook up RecalculateScreenParts Event
                    FUcoPersonalAbilities.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateLinkLabelCounters);

                    FUcoPersonalAbilities.MainDS = FMainDS;
                    FUcoPersonalAbilities.PetraUtilsObject = FPetraUtilsObject;
                    FUcoPersonalAbilities.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoPersonalAbilities.SpecialInitUserControl(FMainDS);
                    FUcoPersonalAbilities.InitUserControl();
                    ((IFrmPetraEdit)(this.ParentForm)).GetPetraUtilsObject().HookupAllInContainer(FUcoPersonalAbilities);

                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "InitialActivation"));

                    this.Cursor = Cursors.Default;
                }
                else
                {
                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "SubsequentActivation"));

                    /*
                     * The following command seems strange and unnecessary; however, it is necessary
                     * to make things scale correctly on "Large Fonts (120DPI)" display setting.
                     */
                    if (TClientSettings.GUIRunningOnNonStandardDPI)
                    {
                        FUcoPersonalAbilities.AdjustAfterResizing();
                    }
                }

                llbPersonalAbilities.BackColor = PanelHelperBackGround;

                LimitTabStopToItem(FUcoPersonalAbilities);
                FUcoPersonalAbilities.Parent.BringToFront();
            }
            else if (ASender == llbPassportDetails)
            {
                if (!FUserControlSetup.ContainsKey(TDynamicLoadableUserControls.dlucPassportDetails))
                {
                    if (TClientSettings.DelayedDataLoading)
                    {
                        // Signalise the user that data is beeing loaded
                        this.Cursor = Cursors.AppStarting;
                    }

                    FUcoPassportDetails = (Ict.Petra.Client.MPartner.Gui.TUC_IndividualData_Passport)DynamicLoadUserControl(
                        TDynamicLoadableUserControls.dlucPassportDetails);

                    // Hook up RecalculateScreenParts Event
                    FUcoPassportDetails.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateLinkLabelCounters);

                    FUcoPassportDetails.MainDS = FMainDS;
                    FUcoPassportDetails.PetraUtilsObject = FPetraUtilsObject;
                    FUcoPassportDetails.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoPassportDetails.SpecialInitUserControl(FMainDS);
                    FUcoPassportDetails.InitUserControl();
                    ((IFrmPetraEdit)(this.ParentForm)).GetPetraUtilsObject().HookupAllInContainer(FUcoPassportDetails);

                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "InitialActivation"));

                    this.Cursor = Cursors.Default;
                }
                else
                {
                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "SubsequentActivation"));

                    /*
                     * The following command seems strange and unnecessary; however, it is necessary
                     * to make things scale correctly on "Large Fonts (120DPI)" display setting.
                     */
                    if (TClientSettings.GUIRunningOnNonStandardDPI)
                    {
                        FUcoPassportDetails.AdjustAfterResizing();
                    }
                }

                llbPassportDetails.BackColor = PanelHelperBackGround;

                LimitTabStopToItem(FUcoPassportDetails);
                FUcoPassportDetails.Parent.BringToFront();
            }
            else if (ASender == llbPersonalData)
            {
                if (!FUserControlSetup.ContainsKey(TDynamicLoadableUserControls.dlucPersonalData))
                {
                    if (TClientSettings.DelayedDataLoading)
                    {
                        // Signalise the user that data is beeing loaded
                        this.Cursor = Cursors.AppStarting;
                    }

                    FUcoPersonalData = (Ict.Petra.Client.MPartner.Gui.TUC_IndividualData_PersonalData)DynamicLoadUserControl(
                        TDynamicLoadableUserControls.dlucPersonalData);
                    FUcoPersonalData.MainDS = FMainDS;
                    FUcoPersonalData.PetraUtilsObject = FPetraUtilsObject;
                    FUcoPersonalData.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoPersonalData.SpecialInitUserControl(FMainDS);
                    FUcoPersonalData.InitUserControl();
                    ((IFrmPetraEdit)(this.ParentForm)).GetPetraUtilsObject().HookupAllInContainer(FUcoPersonalData);

                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "InitialActivation"));

                    this.Cursor = Cursors.Default;
                }
                else
                {
                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "SubsequentActivation"));

                    /*
                     * The following command seems strange and unnecessary; however, it is necessary
                     * to make things scale correctly on "Large Fonts (120DPI)" display setting.
                     */
                    if (TClientSettings.GUIRunningOnNonStandardDPI)
                    {
                        FUcoPersonalData.AdjustAfterResizing();
                    }
                }

                llbPersonalData.BackColor = PanelHelperBackGround;

                LimitTabStopToItem(FUcoPersonalData);
                FUcoPersonalData.Parent.BringToFront();
            }
            else if (ASender == llbEmergencyData)
            {
                if (!FUserControlSetup.ContainsKey(TDynamicLoadableUserControls.dlucEmergencyData))
                {
                    if (TClientSettings.DelayedDataLoading)
                    {
                        // Signalise the user that data is beeing loaded
                        this.Cursor = Cursors.AppStarting;
                    }

                    FUcoEmergencyData = (Ict.Petra.Client.MPartner.Gui.TUC_IndividualData_EmergencyData)DynamicLoadUserControl(
                        TDynamicLoadableUserControls.dlucEmergencyData);
                    FUcoEmergencyData.MainDS = FMainDS;
                    FUcoEmergencyData.PetraUtilsObject = FPetraUtilsObject;
                    FUcoEmergencyData.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoEmergencyData.SpecialInitUserControl(FMainDS);
                    FUcoEmergencyData.InitUserControl();
                    ((IFrmPetraEdit)(this.ParentForm)).GetPetraUtilsObject().HookupAllInContainer(FUcoEmergencyData);

                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "InitialActivation"));

                    this.Cursor = Cursors.Default;
                }
                else
                {
                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgEmergencyData, FUcoEmergencyData, "SubsequentActivation"));

                    /*
                     * The following command seems strange and unnecessary; however, it is necessary
                     * to make things scale correctly on "Large Fonts (120DPI)" display setting.
                     */
                    if (TClientSettings.GUIRunningOnNonStandardDPI)
                    {
                        FUcoEmergencyData.AdjustAfterResizing();
                    }
                }

                llbEmergencyData.BackColor = PanelHelperBackGround;

                LimitTabStopToItem(FUcoEmergencyData);
                FUcoEmergencyData.Parent.BringToFront();
            }
            else if (ASender == llbPreviousExperience)
            {
                if (!FUserControlSetup.ContainsKey(TDynamicLoadableUserControls.dlucPreviousExperience))
                {
                    if (TClientSettings.DelayedDataLoading)
                    {
                        // Signalise the user that data is beeing loaded
                        this.Cursor = Cursors.AppStarting;
                    }

                    FUcoPreviousExperience = (Ict.Petra.Client.MPartner.Gui.TUC_IndividualData_PreviousExperience)DynamicLoadUserControl(
                        TDynamicLoadableUserControls.dlucPreviousExperience);

                    // Hook up RecalculateScreenParts Event
                    FUcoPreviousExperience.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateLinkLabelCounters);

                    FUcoPreviousExperience.MainDS = FMainDS;
                    FUcoPreviousExperience.PetraUtilsObject = FPetraUtilsObject;
                    FUcoPreviousExperience.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoPreviousExperience.SpecialInitUserControl(FMainDS);
                    FUcoPreviousExperience.InitUserControl();
                    ((IFrmPetraEdit)(this.ParentForm)).GetPetraUtilsObject().HookupAllInContainer(FUcoPreviousExperience);

                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "InitialActivation"));

                    this.Cursor = Cursors.Default;
                }
                else
                {
                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "SubsequentActivation"));

                    /*
                     * The following command seems strange and unnecessary; however, it is necessary
                     * to make things scale correctly on "Large Fonts (120DPI)" display setting.
                     */
                    if (TClientSettings.GUIRunningOnNonStandardDPI)
                    {
                        FUcoPreviousExperience.AdjustAfterResizing();
                    }
                }

                llbPreviousExperience.BackColor = PanelHelperBackGround;

                LimitTabStopToItem(FUcoPreviousExperience);
                FUcoPreviousExperience.Parent.BringToFront();
            }
            else if (ASender == llbPersonalDocuments)
            {
                if (!FUserControlSetup.ContainsKey(TDynamicLoadableUserControls.dlucPersonalDocuments))
                {
                    if (TClientSettings.DelayedDataLoading)
                    {
                        // Signalise the user that data is beeing loaded
                        this.Cursor = Cursors.AppStarting;
                    }

                    FUcoPersonalDocuments = (Ict.Petra.Client.MPartner.Gui.TUC_IndividualData_PersonalDocuments)DynamicLoadUserControl(
                        TDynamicLoadableUserControls.dlucPersonalDocuments);

                    // Hook up RecalculateScreenParts Event
                    FUcoPersonalDocuments.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateLinkLabelCounters);

                    FUcoPersonalDocuments.MainDS = FMainDS;
                    FUcoPersonalDocuments.PetraUtilsObject = FPetraUtilsObject;
                    FUcoPersonalDocuments.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoPersonalDocuments.SpecialInitUserControl(FMainDS);
                    FUcoPersonalDocuments.InitUserControl();
                    ((IFrmPetraEdit)(this.ParentForm)).GetPetraUtilsObject().HookupAllInContainer(FUcoPersonalDocuments);

                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "InitialActivation"));

                    this.Cursor = Cursors.Default;
                }
                else
                {
                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "SubsequentActivation"));

                    /*
                     * The following command seems strange and unnecessary; however, it is necessary
                     * to make things scale correctly on "Large Fonts (120DPI)" display setting.
                     */
                    if (TClientSettings.GUIRunningOnNonStandardDPI)
                    {
                        FUcoPersonalDocuments.AdjustAfterResizing();
                    }
                }

                llbPersonalDocuments.BackColor = PanelHelperBackGround;

                LimitTabStopToItem(FUcoPersonalDocuments);
                FUcoPersonalDocuments.Parent.BringToFront();
            }
            else if (ASender == llbJobAssignments)
            {
                if (!FUserControlSetup.ContainsKey(TDynamicLoadableUserControls.dlucJobAssignments))
                {
                    if (TClientSettings.DelayedDataLoading)
                    {
                        // Signalise the user that data is beeing loaded
                        this.Cursor = Cursors.AppStarting;
                    }

                    FUcoJobAssignments = (Ict.Petra.Client.MPartner.Gui.TUC_IndividualData_JobAssignments)DynamicLoadUserControl(
                        TDynamicLoadableUserControls.dlucJobAssignments);

                    // Hook up RecalculateScreenParts Event

                    FUcoJobAssignments.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateLinkLabelCounters);

                    FUcoJobAssignments.MainDS = FMainDS;
                    FUcoJobAssignments.PetraUtilsObject = FPetraUtilsObject;
                    FUcoJobAssignments.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoJobAssignments.SpecialInitUserControl(FMainDS);
                    FUcoJobAssignments.InitUserControl();
                    ((IFrmPetraEdit)(this.ParentForm)).GetPetraUtilsObject().HookupAllInContainer(FUcoJobAssignments);

                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "InitialActivation"));

                    this.Cursor = Cursors.Default;
                }
                else
                {
                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "SubsequentActivation"));

                    /*
                     * The following command seems strange and unnecessary; however, it is necessary
                     * to make things scale correctly on "Large Fonts (120DPI)" display setting.
                     */
                    if (TClientSettings.GUIRunningOnNonStandardDPI)
                    {
                        FUcoJobAssignments.AdjustAfterResizing();
                    }
                }

                llbJobAssignments.BackColor = PanelHelperBackGround;

                LimitTabStopToItem(FUcoJobAssignments);
                FUcoJobAssignments.Parent.BringToFront();
            }
            else if (ASender == llbLocalPersonnelData)
            {
                if (!FUserControlSetup.ContainsKey(TDynamicLoadableUserControls.dlucLocalPersonnelData))
                {
                    if (TClientSettings.DelayedDataLoading)
                    {
                        // Signalise the user that data is beeing loaded
                        this.Cursor = Cursors.AppStarting;
                    }

                    FUcoLocalPersonnelData = (Ict.Petra.Client.MPartner.Gui.TUC_IndividualData_LocalPersonnelData)DynamicLoadUserControl(
                        TDynamicLoadableUserControls.dlucLocalPersonnelData);

                    // Hook up RecalculateScreenParts Event
                    //FUcoLocalPersonnelData.RecalculateScreenParts += new TRecalculateScreenPartsEventHandler(RecalculateLinkLabelCounters);

                    FUcoLocalPersonnelData.MainDS = FMainDS;
                    FUcoLocalPersonnelData.PetraUtilsObject = FPetraUtilsObject;
                    FUcoLocalPersonnelData.PartnerEditUIConnector = FPartnerEditUIConnector;
                    FUcoLocalPersonnelData.InitUserControl();
                    FUcoLocalPersonnelData.SpecialInitUserControl();
                    ((IFrmPetraEdit)(this.ParentForm)).GetPetraUtilsObject().HookupAllInContainer(FUcoLocalPersonnelData);

                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "InitialActivation"));

                    this.Cursor = Cursors.Default;
                }
                else
                {
                    // The following code is not needed at the moment unless there would be some special initialization later on
                    // beyond what it is done in SpecialInitUserControl
                    //OnTabPageEvent(new TTabPageEventArgs(tpgPartnerTypes, FUcoPartnerTypes, "SubsequentActivation"));

                    /*
                     * The following command seems strange and unnecessary; however, it is necessary
                     * to make things scale correctly on "Large Fonts (120DPI)" display setting.
                     */
                    if (TClientSettings.GUIRunningOnNonStandardDPI)
                    {
                        FUcoLocalPersonnelData.AdjustAfterResizing();
                    }
                }

                llbLocalPersonnelData.BackColor = PanelHelperBackGround;

                LimitTabStopToItem(FUcoLocalPersonnelData);
                FUcoLocalPersonnelData.Parent.BringToFront();
            }

            // remember the currently selected link label
            FCurrentLinkLabel = ASender as LinkLabel;

            /*
             * Raise the following Event to inform the base Form that we have finished loading fresh data.
             * We need to turn the ChangeDetection routine back on.
             */
            OnDataLoadingFinished(this, new EventArgs());
        }