/// /////////////////////////////////////////////////////////////////
        public static CDefinitionProprieteDynamique SelectDefinitionChamp
        (
            Rectangle position,
            CObjetPourSousProprietes objetPourSousProprietes,
            IFournisseurProprietesDynamiques fournisseur,
            ref bool bCancel,
            BeforeIntegrerChampEventHandler fonctionFiltre,
            CDefinitionProprieteDynamique definitionRacineDeChamps
        )
        {
            CFormSelectChampPopupBase form = new CFormSelectChampPopupBase();

            form.m_definitionRacineDeChamp = definitionRacineDeChamps;
            if (fonctionFiltre != null)
            {
                form.BeforeIntegreChamp += fonctionFiltre;
            }
            if (objetPourSousProprietes == null)
            {
                return(null);
            }
            form.Init(objetPourSousProprietes, fournisseur, definitionRacineDeChamps);
            form.Left   = position.Left;
            form.Top    = position.Top;
            form.Width  = position.Width;
            form.Height = position.Height;
            DialogResult dResult = form.ShowDialog();

            bCancel = true;
            CDefinitionProprieteDynamique def = null;

            if (dResult == DialogResult.OK)
            {
                def     = form.m_definitionSelectionnee;
                bCancel = false;
            }
            if (dResult == DialogResult.No)
            {
                bCancel = false;
            }
            form.Dispose();
            return(def);
        }
        /// /////////////////////////////////////////////////////////////////
        //Implémentation de ISelectionneurProprieteDynamique
        public CDefinitionProprieteDynamique SelectPropriete
        (
            CDefinitionProprieteDynamique propSelectionnee,
            CDefinitionProprieteDynamique definitionRacineDeChamps
        )
        {
            CFormSelectChampPopupBase form = new CFormSelectChampPopupBase();

            form.Init(m_objetPourSousProprietes, m_fournisseur, definitionRacineDeChamps);
            form.StartPosition = FormStartPosition.CenterParent;
            DialogResult dResult = form.ShowDialog();

            if (dResult == DialogResult.OK)
            {
                propSelectionnee = form.m_definitionSelectionnee;
            }
            if (dResult == DialogResult.No)
            {
                propSelectionnee = null;
            }
            return(propSelectionnee);
        }