/// it might be better to do this in other functions, see also Client/lib/MFinance/gui/FinanceComboboxes.cs
        private void AppearanceSetup(TListTableEnum AListTable)
        {
            this.ComboBoxWidth = 0;     // This line ensures that setting ComboBoxWidth in YAML is useless,
            // but even without this line here the YAML setting will get overruled by AppearanceSetup(Int32[] AColumnWidth, Int32 AMaxDropDownItems).
            this.ColumnWidthCol1 = 100;
            this.ColumnWidthCol2 = 0;
            this.ColumnWidthCol3 = 0;
            this.ColumnWidthCol4 = 0;
            this.ImageColumn = 0;
            this.Images = null;

            switch (AListTable)
            {
                case TListTableEnum.AbilityAreaNameList:
                    this.ColumnWidthCol2 = 150;
                    cmbCombobox.MaxDropDownItems = 9;
                    break;

                case TListTableEnum.AbilityLevelList:
                    this.ColumnWidthCol2 = 150;
                    cmbCombobox.MaxDropDownItems = 9;
                    break;

                case TListTableEnum.ArrivalDeparturePointList:
                    this.ColumnWidthCol1 = 150;
                    this.ColumnWidthCol2 = 300;
                    break;

                case TListTableEnum.AcquisitionCodeList:
                    this.ColumnWidthCol2 = 350;
                    break;

                case TListTableEnum.AddresseeTypeList:
                    this.ColumnWidthCol2 = 150;
                    cmbCombobox.MaxDropDownItems = 9;
                    break;

                case TListTableEnum.AddressDisplayOrderList:
                    this.ColumnWidthCol1 = 50;
                    this.ColumnWidthCol2 = 150;
                    break;

                case TListTableEnum.ApplicantStatusList:
                    this.ColumnWidthCol1 = 80;
                    this.ColumnWidthCol2 = 300;
                    break;

                case TListTableEnum.BusinessCodeList:
                    this.ColumnWidthCol2 = 150;
                    cmbCombobox.MaxDropDownItems = 9;
                    break;

                case TListTableEnum.CommitmentStatusList:
                    this.ColumnWidthCol1 = 120;
                    this.ColumnWidthCol2 = 300;
                    break;

                case TListTableEnum.ContactCode:
                    this.ColumnWidthCol1 = 120;
                    this.ColumnWidthCol2 = 250;
                    break;

                case TListTableEnum.ContactList:
                    this.ColumnWidthCol1 = 120;
                    this.ColumnWidthCol2 = 350;
                    break;

                case TListTableEnum.CountryList:
                    this.ColumnWidthCol1 = 50;
                    this.ColumnWidthCol2 = 200;
                    break;

                case TListTableEnum.CurrencyCodeList:
                    this.ColumnWidthCol1 = 60;
                    this.ColumnWidthCol2 = 170;
                    break;

                case TListTableEnum.DataLabelLookupList:
                    this.ColumnWidthCol2 = 200;
                    break;

                case TListTableEnum.DataLabelLookupCategoryList:
                    this.ColumnWidthCol2 = 200;
                    break;

                case TListTableEnum.DenominationList:
                    this.ColumnWidthCol2 = 330;
                    break;

                case TListTableEnum.DocumentTypeList:
                    this.ColumnWidthCol1 = 150;
                    this.ColumnWidthCol2 = 275;
                    break;

                case TListTableEnum.EventApplicationTypeList:
                    this.ColumnWidthCol1 = 150;
                    this.ColumnWidthCol2 = 300;
                    break;

                case TListTableEnum.EventRoleList:
                    this.ColumnWidthCol1 = 120;
                    this.ColumnWidthCol2 = 250;
                    break;

                case TListTableEnum.DocumentTypeCategoryList:
                    this.ColumnWidthCol2 = 200;
                    break;

                case TListTableEnum.FieldApplicationTypeList:
                    this.ColumnWidthCol1 = 150;
                    this.ColumnWidthCol2 = 300;
                    break;

                case TListTableEnum.FoundationOwnerList:
                    this.ColumnWidthCol1 = 120;
                    break;

                case TListTableEnum.FrequencyList:
                    this.ColumnWidthCol2 = 350;
                    break;

                case TListTableEnum.GenderList:
                    this.ColumnWidthCol1 = 88;
                    cmbCombobox.MaxDropDownItems = 3;
                    break;

                case TListTableEnum.InterestList:
                    this.ColumnWidthCol1 = 130;
                    this.ColumnWidthCol2 = 230;
                    cmbCombobox.MaxDropDownItems = 3;
                    break;

                case TListTableEnum.InterestCategoryList:
                    this.ColumnWidthCol1 = 130;
                    this.ColumnWidthCol2 = 230;
                    cmbCombobox.MaxDropDownItems = 3;
                    break;

                case TListTableEnum.InternationalPostalTypeList:
                    this.ColumnWidthCol1 = 100;
                    this.ColumnWidthCol2 = 230;
                    break;

                case TListTableEnum.JobAssignmentTypeList:
                    this.ColumnWidthCol1 = 40;
                    this.ColumnWidthCol2 = 200;
                    break;

                case TListTableEnum.LanguageCodeList:
                    this.ColumnWidthCol1 = 57;
                    this.ColumnWidthCol2 = 130;
                    break;

                case TListTableEnum.LanguageLevelList:
                    this.ColumnWidthCol1 = 57;
                    this.ColumnWidthCol2 = 130;
                    break;

                case TListTableEnum.LedgerNameList:
                    this.ColumnWidthCol1 = 55;
                    this.ColumnWidthCol2 = 200;
                    break;

                case TListTableEnum.LocationTypeList:
                    this.ColumnWidthCol1 = 110;
                    break;

                case TListTableEnum.MailingList:
                    this.ColumnWidthCol1 = 120;
                    this.ColumnWidthCol2 = 250;
                    break;

                case TListTableEnum.MaritalStatusList:
                    this.ColumnWidthCol1 = 39;
                    this.ColumnWidthCol2 = 230;
                    cmbCombobox.MaxDropDownItems = 10;
                    break;

                case TListTableEnum.Module:
                    this.ColumnWidthCol1 = 120;
                    this.ColumnWidthCol2 = 230;
                    break;

                case TListTableEnum.PartnerAttributeCategoryList:
                    this.ColumnWidthCol1 = 200;
                    this.ColumnWidthCol2 = 305;
                    break;

                case TListTableEnum.PartnerAttributeTypeList:
                    this.ColumnWidthCol1 = 200;
                    this.ColumnWidthCol2 = 295;
                    break;

                case TListTableEnum.PartnerClassList:
                    this.ColumnWidthCol1 = 130;
                    break;

                case TListTableEnum.PartnerStatusList:
                    this.ColumnWidthCol1 = 95;
                    break;

                case TListTableEnum.PositionList:
                    this.ColumnWidthCol1 = 200;
                    this.ColumnWidthCol2 = 350;
                    break;

                case TListTableEnum.PassportDetailsTypeList:
                    this.ColumnWidthCol1 = 50;
                    this.ColumnWidthCol2 = 150;
                    cmbCombobox.MaxDropDownItems = 4;
                    break;

                case TListTableEnum.PassportNationalityCodeList:
                    this.ColumnWidthCol1 = 50;
                    this.ColumnWidthCol2 = 150;
                    cmbCombobox.MaxDropDownItems = 9;
                    break;

                case TListTableEnum.PostCodeRegionList:
                    this.ColumnWidthCol1 = 110;
                    break;

                case TListTableEnum.ProposalSubmissionTypeList:
                    this.ColumnWidthCol2 = 100;
                    break;

                case TListTableEnum.ReasonSubscriptionCancelledList:
                    this.ColumnWidthCol1 = 110;
                    this.ColumnWidthCol2 = 450;
                    break;

                case TListTableEnum.ReasonSubscriptionGivenList:
                    this.ColumnWidthCol1 = 110;
                    this.ColumnWidthCol2 = 450;
                    break;

                case TListTableEnum.PublicationInfoList:
                    this.ColumnWidthCol1 = 110;
                    this.ColumnWidthCol2 = 350;
                    this.ColumnWidthCol3 = 80;
                    break;

                case TListTableEnum.SubscriptionStatus:
                    this.ColumnWidthCol1 = 110;
                    break;

                case TListTableEnum.TransportTypeList:
                    this.ColumnWidthCol1 = 80;
                    this.ColumnWidthCol2 = 130;
                    break;

                case TListTableEnum.SkillCategoryList:
                    this.ColumnWidthCol1 = 110;
                    this.ColumnWidthCol2 = 250;
                    break;

                case TListTableEnum.SkillLevelList:
                    this.ColumnWidthCol1 = 57;
                    this.ColumnWidthCol2 = 130;
                    break;

                case TListTableEnum.RelationList:
                    this.ColumnWidthCol2 = 150;
                    cmbCombobox.MaxDropDownItems = 15;
                    break;

                case TListTableEnum.RelationCategoryList:
                    this.ColumnWidthCol2 = 150;
                    break;

                case TListTableEnum.UnitTypeList:
                    this.ColumnWidthCol1 = 90;
                    this.ColumnWidthCol2 = 200;
                    break;

                case TListTableEnum.UserList:
                    this.ColumnWidthCol1 = 120;
                    this.ColumnWidthCol2 = 200;
                    break;
            }

            if (this.ComboBoxWidth == 0)
            {
                if (this.Width < this.ColumnWidthCol1)
                {
                    // Ensure that the ComboBox itself is never 'cut off'
                    this.ComboBoxWidth = this.Width;
                }
                else
                {
                    this.ComboBoxWidth = this.ColumnWidthCol1;
                }
            }

            if (DesignMode)
            {
                // Put text in ComboBox to make it easier to distinguish different AutoPopulatedComboBoxes on one Form
                cmbCombobox.Text = AListTable.ToString("G");
            }
        }
        /// <summary>
        /// This procedure sets the appearance of this control according to the data contained.
        /// </summary>
        /// <returns>void</returns>
        public void AppearanceSetup(TListTableEnum AListTable)
        {
            System.Single mFontSize;
            System.Drawing.Font mFont;

            // TLogging.Log('ButtonTextAlign: ' + Enum.GetName(typeof(System.Drawing.ContentAlignment), this.FButtonTextAlign));
            switch (AListTable)
            {
                case TListTableEnum.OccupationList :
                    #region TListTableEnum.OccupationList

                    // Settings for the button
                    this.FDefaultButtonText = Catalog.GetString("&Occupation...");
                    this.FDefaultButtonTextAlign = System.Drawing.ContentAlignment.MiddleCenter;
                    this.FDefaultButtonWidth = 108;

                    // Setting the TextBox
                    this.FDefaultTextBoxWidth = 170;

                    // Layout
                    this.txtAutoPopulated.AdjustButtonWidth = false;
                    this.txtAutoPopulated.SeparatorWidth = 2;
                    this.txtAutoPopulated.LabelSeparatorWidth = 6;
                    #endregion
                    break;

                case TListTableEnum.PartnerKey :
                    #region TListTableEnum.PartnerKey

                    // Settings for the button
                    this.FDefaultButtonText = String.Format(Catalog.GetString("&{0}"), ApplWideResourcestrings.StrPartnerKey);
                    this.FDefaultButtonTextAlign = System.Drawing.ContentAlignment.MiddleCenter;
                    this.FDefaultButtonWidth = 108;
                    this.FDefaultTextBoxWidth = 80;
                    this.txtAutoPopulated.AdjustButtonWidth = false;
                    mFontSize = this.txtAutoPopulated.txtTextBox.Font.Size;
                    mFont = new System.Drawing.Font("Courier New", mFontSize, System.Drawing.FontStyle.Bold);
                    this.txtAutoPopulated.txtTextBox.Font = mFont;
                    this.FLookUpColumnIndex = -1;
                    this.txtAutoPopulated.txtTextBox.Text = "0000000000";
                    this.txtAutoPopulated.Size = this.Size;

                    if (ShowLabel)
                    {
                        this.txtAutoPopulated.SetLabel += new TDelegateSetLabel(this.TxtAutoPopulated_SetLabel);
                    }

                    AddCustomContextMenuStrip();

                    #endregion
                    break;

                case TListTableEnum.Extract:
                    #region TListTableEnum.Extract

                    // Settings for the button
                    this.FDefaultButtonText = Catalog.GetString("&Extract");
                    this.FDefaultButtonTextAlign = System.Drawing.ContentAlignment.MiddleCenter;
                    this.FDefaultButtonWidth = 108;
                    this.FDefaultTextBoxWidth = 80;
                    this.txtAutoPopulated.AdjustButtonWidth = false;
                    mFontSize = this.txtAutoPopulated.txtTextBox.Font.Size;
                    mFont = new System.Drawing.Font("Courier New", mFontSize, System.Drawing.FontStyle.Bold);
                    this.txtAutoPopulated.txtTextBox.Font = mFont;
                    this.FLookUpColumnIndex = -1;
                    this.txtAutoPopulated.txtTextBox.Text = "";
                    this.txtAutoPopulated.Size = this.Size;

                    if (ShowLabel)
                    {
                        this.txtAutoPopulated.SetLabel += new TDelegateSetLabel(this.TxtAutoPopulated_SetLabel);
                    }

                    #endregion
                    break;

                case TListTableEnum.Conference:
                    #region TListTableEnum.Conference

                    /* Settings for the button */
                    this.FDefaultButtonText = Catalog.GetString("&Conference");
                    this.FDefaultButtonTextAlign = System.Drawing.ContentAlignment.MiddleCenter;
                    this.FDefaultButtonWidth = 108;
                    this.FDefaultTextBoxWidth = 80;
                    this.txtAutoPopulated.AdjustButtonWidth = false;
                    mFontSize = this.txtAutoPopulated.txtTextBox.Font.Size;
                    mFont = new System.Drawing.Font("Courier New", mFontSize, System.Drawing.FontStyle.Bold);
                    this.txtAutoPopulated.txtTextBox.Font = mFont;
                    this.FLookUpColumnIndex = -1;
                    this.txtAutoPopulated.txtTextBox.Text = "0000000000";
                    this.txtAutoPopulated.Size = this.Size;
                    this.txtAutoPopulated.SetLabel += new TDelegateSetLabel(this.TxtAutoPopulated_SetLabel);

                    AddCustomContextMenuStrip();

                    #endregion
                    break;

                case TListTableEnum.Event:
                    #region TListTableEnum.Event

                    /* Settings for the button */
                    this.FDefaultButtonText = Catalog.GetString("&Event");
                    this.FDefaultButtonTextAlign = System.Drawing.ContentAlignment.MiddleCenter;
                    this.FDefaultButtonWidth = 108;
                    this.FDefaultTextBoxWidth = 80;
                    this.txtAutoPopulated.AdjustButtonWidth = false;
                    mFontSize = this.txtAutoPopulated.txtTextBox.Font.Size;
                    mFont = new System.Drawing.Font("Courier New", mFontSize, System.Drawing.FontStyle.Bold);
                    this.txtAutoPopulated.txtTextBox.Font = mFont;
                    this.FLookUpColumnIndex = -1;
                    this.txtAutoPopulated.txtTextBox.Text = "0000000000";
                    this.txtAutoPopulated.Size = this.Size;
                    this.txtAutoPopulated.SetLabel += new TDelegateSetLabel(this.TxtAutoPopulated_SetLabel);

                    AddCustomContextMenuStrip();

                    #endregion
                    break;

                case TListTableEnum.Bank:
                    #region TListTableEnum.Event

                    /* Settings for the button */
                    this.FDefaultButtonText = Catalog.GetString("&Bank");
                    this.FDefaultButtonTextAlign = System.Drawing.ContentAlignment.MiddleCenter;
                    this.FDefaultButtonWidth = 108;
                    this.FDefaultTextBoxWidth = 80;
                    this.txtAutoPopulated.AdjustButtonWidth = false;
                    mFontSize = this.txtAutoPopulated.txtTextBox.Font.Size;
                    mFont = new System.Drawing.Font("Courier New", mFontSize, System.Drawing.FontStyle.Bold);
                    this.txtAutoPopulated.txtTextBox.Font = mFont;
                    this.FLookUpColumnIndex = -1;
                    this.txtAutoPopulated.txtTextBox.Text = "0000000000";
                    this.txtAutoPopulated.Size = this.Size;

                    if (ShowLabel)
                    {
                        this.txtAutoPopulated.SetLabel += new TDelegateSetLabel(this.TxtAutoPopulated_SetLabel);
                    }

                    AddCustomContextMenuStrip();

                    #endregion
                    break;
            }

            if (this.FASpecialSetting == true)
            {
                #region Special Settings apply

                // TLogging.Log('this.FASpecialSetting = true  START');
                // ButtonText
                if (this.ButtonText == "")
                {
                    this.ButtonText = this.FDefaultButtonText;
                }

                this.txtAutoPopulated.ButtonText = this.ButtonText;

                // ButtonTextAlign
                // TLogging.Log('FASpecialSettingButtonTextAlign: ' + Enum.GetName(typeof(System.Drawing.ContentAlignment), this.FButtonTextAlign));
                this.txtAutoPopulated.ButtonTextAlign = this.ButtonTextAlign;

                // ButtonWidth
                if (this.ButtonWidth < 0)
                {
                    this.ButtonWidth = this.FDefaultButtonWidth;
                }

                this.txtAutoPopulated.ButtonWidth = this.ButtonWidth;

                // TextBoxWidth
                if (this.TextBoxWidth <= 0)
                {
                    this.TextBoxWidth = this.FDefaultTextBoxWidth;
                }

                this.txtAutoPopulated.TextBoxWidth = this.TextBoxWidth;
                #endregion

                // TLogging.Log('this.FASpecialSetting = true  END');
            }
            else
            {
                // TLogging.Log('this.FASpecialSetting <> true  START');
                #region Default Settings apply

                // ButtonText
                this.ButtonText = this.FDefaultButtonText;

                // TLogging.Log('  this.FDefaultButtonText:          >' + this.FDefaultButtonText + '<');
                // TLogging.Log('  this.ButtonText:                  >' + this.FDefaultButtonText + '<');
                this.txtAutoPopulated.ButtonText = this.ButtonText;

                // TLogging.Log('  this.txtAutoPopulated.ButtonText: >' + this.FDefaultButtonText + '<');
                // ButtonTextAlign
                this.ButtonTextAlign = this.FDefaultButtonTextAlign;
                this.txtAutoPopulated.ButtonTextAlign = this.ButtonTextAlign;

                // ButtonWidth
                this.ButtonWidth = this.FDefaultButtonWidth;
                this.txtAutoPopulated.ButtonWidth = this.ButtonWidth;

                // TextBoxWidth
                this.TextBoxWidth = this.FDefaultTextBoxWidth;
                this.txtAutoPopulated.TextBoxWidth = this.TextBoxWidth;
                #endregion

                // TLogging.Log('this.FASpecialSetting <> true  END');
            }
        }