我'm currently working on an MultiColumnComboBox which contains an DataGridView as DropDownControl. I'已找到https://www.codeproject.com/Articles/25471/Customizable-ComboBox-Drop-Down并将其用作Parentclass .

这是守则的重要部分 .

namespace GUILib
{
    partial class MultiColumnDropDown
    {

        ...

        [
            Browsable(true),
            DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
            TypeConverterAttribute(typeof(System.ComponentModel.ExpandableObjectConverter))
        ]
        public System.Windows.Forms.DataGridView datagrid
        {
            get
            {
                return dataGridView1;
            }
            set
            {
                dataGridView1 = value;
            }
        }

        ...

        #region Vom Komponenten-Designer generierter Code

        ///  
        /// Erforderliche Methode für die Designerunterstützung. 
        /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
        /// 
        private void InitializeComponent()
        {
            this.dataGridView1 = new System.Windows.Forms.DataGridView();
            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
            this.SuspendLayout();
            // 
            // dataGridView1
            // 
            this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
            this.dataGridView1.Location = new System.Drawing.Point(0, 0);
            this.dataGridView1.Name = "dataGridView1";
            this.dataGridView1.Size = new System.Drawing.Size(240, 150);
            this.dataGridView1.TabIndex = 0;
            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.DataGridView dataGridView1;
    }
}

我的问题是当我将这个自定义控件添加到表单时,我可以更改除列之外的datagrid的每个属性 . 当我尝试通过单击带有三个点的按钮来修改列时,我将收到错误:

Error

翻译它是“对象引用未设置为对象的实例” . 如果我将在代码中添加Columns(multiColumnDropDown1.datagrid.Columns.Add),则会在运行时添加列 .

有人能告诉我我在哪里犯了错误吗?

问候迈克尔

附:对不起,我的英语不好,我希望有人明白我的意思,可以帮助我 .