//=====================================================================
        /// <summary>
        /// This is used to initialize the drop-down styles and data source
        /// </summary>
        private void InitDropDown()
        {
            // Create and initialize the drop-down control
            if(owner.DropDownControl != null)
            {
                ConstructorInfo ctor = owner.DropDownControl.GetConstructor(Type.EmptyTypes);
                ddControl = (DropDownControl)ctor.Invoke(null);
                ddControl.Location = new Point(0, 0);
                ddControl.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right;
                ddControl.AutoScroll = true;
                ddControl.Font = owner.DropDownFont;
                ddControl.ComboBox = owner;

                if(ddControl.BackColor == SystemColors.Control)
                    ddControl.BackColor = owner.DropDownBackColor;

                // Add 16 pixels so that we can draw the sizing grip
                this.Height = ddControl.Height + 16;
                this.Width = ddControl.Width + 2;
                this.MinimumSize = ddControl.MinimumSize;
                this.Controls.Add(ddControl);

                // Tell everyone it has been created
                owner.OnDropDownControlCreated(ddControl);

                // Give the drop-down control a chance to perform any necessary initialization
                ddControl.InitializeDropDown();

                // Tell everyone it has been initialized
                owner.OnDropDownControlInitialized(ddControl);
            }

            // Size the drop-down to the owner's width if it is wider
            if(this.Width < owner.Width)
                this.Width = owner.Width;

            hasInitialized = true;
        }
        //=====================================================================
        /// <summary>
        /// This is used to initialize the drop-down styles and data source
        /// </summary>
        private void InitDropDown()
        {
            // Create and initialize the drop-down control
            if(owner.DropDownControl != null)
            {
                ConstructorInfo ctor = owner.DropDownControl.GetConstructor(Type.EmptyTypes);
                ddControl = (DropDownControl)ctor.Invoke(null);
                ddControl.Location = new Point(0, 0);
                ddControl.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right;
                ddControl.AutoScroll = true;
                ddControl.Font = owner.DropDownFont;
                ddControl.ComboBox = owner;

                if(ddControl.BackColor == SystemColors.Control)
                    ddControl.BackColor = owner.DropDownBackColor;

                ddControl.Height = this.Height;
                ddControl.Width = this.Width;
                this.Controls.Add(ddControl);

                // Tell everyone it has been created
                owner.OnDropDownControlCreated(ddControl);

                // Give the drop-down control a chance to perform any necessary initialization
                ddControl.InitializeDropDown();

                // Tell everyone it has been initialized
                owner.OnDropDownControlInitialized(ddControl);
            }

            hasInitialized = true;
        }