1

我目前正在开发一个 MultiColumnComboBox,其中包含一个 DataGridView 作为 DropDownControl。我找到了https://www.codeproject.com/Articles/25471/Customizable-ComboBox-Drop-Down并将其用作父类。

这是本准则的重要部分。

命名空间 GUILib
{
    部分类 MultiColumnDropDown
    {

        ...

        [
            可浏览(真),
            DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
            TypeConverterAttribute(typeof(System.ComponentModel.ExpandableObjectConverter))
        ]
        公共 System.Windows.Forms.DataGridView 数据网格
        {
            得到
            {
                返回数据网格视图1;
            }
            放
            {
                dataGridView1 = 值;
            }
        }

        ...

        #region Vom Komponenten-Designer 生成器代码

        ///  
        /// Erforderliche Methode für die Designerunterstützung。
        /// Der Inhalt der Methode darf nicht mit dem 代码编辑器 geändert werden。
        ///
        私人无效初始化组件()
        {
            this.dataGridView1 = new System.Windows.Forms.DataGridView();
            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
            this.SuspendLayout();
            //
            // 数据网格视图1
            //
            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

        私有 System.Windows.Forms.DataGridView dataGridView1;
    }
}

我的问题是当我将此自定义控件添加到表单时,我可以更改数据网格的每个属性,但列除外。当我尝试通过单击带有三个点的按钮来修改列时,我会收到错误消息:

错误

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

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

问候迈克尔

PS对不起我的英语不好,我希望有人能理解我的意思并能帮助我。

4

0 回答 0