示例#1
0
        public void SetContent(PropertyEnumerator propEnum, string currentValue, object valueKey)
        {
            if (propEnum == null)
            {
                if (_content != null)
                {
                    (_content as Control).MouseUp -= new MouseEventHandler(OnContentClicked);
                    Controls.Remove(_content as Control);
                    (_content as Control).Dispose();
                    _content = null;
                }
            }
            else
            {
                _content = (IDropDownContent)propEnum.Property.ParentGrid.GetDropDownContent(propEnum, valueKey);

                Control contentControl = _content as Control;
                if (contentControl != null)
                {
                    contentControl.Parent    = this;
                    contentControl.BackColor = propEnum.Property.Value.BackColor;
                    contentControl.ForeColor = propEnum.Property.Value.ForeColor;
                    contentControl.Font      = propEnum.Property.ParentGrid.Font;
                    contentControl.MouseUp  += new MouseEventHandler(OnContentClicked);
                    _content.InitializeContent(propEnum, currentValue, valueKey);

                    Size = new Size(contentControl.Width + 2, contentControl.Height + 2);

                    DropDownContentListBox dropdown = (ContentControl as DropDownContentListBox);
                    if (dropdown != null)
                    {
                        if (dropdown.Items.Count > (dropdown.Height / dropdown.ItemHeight))
                        {
                            Height   += SystemInformation.HorizontalScrollBarHeight + 1;
                            Resizable = true;
                        }
                        else
                        {
                            Resizable = false;
                        }
                    }
                }
            }
        }
        public void SetContent(PropertyEnumerator propEnum, string currentValue, object valueKey)
        {
            if (propEnum == null)
            {
                if (_content != null)
                {
                    (_content as Control).MouseUp -= new MouseEventHandler(OnContentClicked);
                    Controls.Remove(_content as Control);
                    (_content as Control).Dispose();
                    _content = null;
                }
            }
            else
            {
                _content = (IDropDownContent)propEnum.Property.ParentGrid.GetDropDownContent(propEnum, valueKey);

                Control contentControl = _content as Control;
                if (contentControl != null)
                {
                    contentControl.Parent = this;
                    contentControl.BackColor = propEnum.Property.Value.BackColor;
                    contentControl.ForeColor = propEnum.Property.Value.ForeColor;
                    contentControl.Font = propEnum.Property.ParentGrid.Font;
                    contentControl.MouseUp += new MouseEventHandler(OnContentClicked);
                    _content.InitializeContent(propEnum, currentValue, valueKey);

                    Size = new Size(contentControl.Width + 2, contentControl.Height + 2);

                    DropDownContentListBox dropdown = (ContentControl as DropDownContentListBox);
                    if (dropdown != null)
                    {
                        if (dropdown.Items.Count > (dropdown.Height / dropdown.ItemHeight))
                        {
                            Height += SystemInformation.HorizontalScrollBarHeight + 1;
                            Resizable = true;
                        }
                        else
                            Resizable = false;
                    }
                }
            }
        }